)]}'
{
  "log": [
    {
      "commit": "9b5f6ba1e66daf34809f549d29b7801c3c19bbe1",
      "tree": "6ec5deaf8048a0bc79b02d7d20f8f4f70ddef216",
      "parents": [
        "2890a895abf4c9b86399fa575061627c2a7f7936"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Thu Sep 17 19:37:12 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 17 10:37:12 2026 -0700"
      },
      "message": "Close the keystore file in `SslContextAwareAbstractSource` (#506)\n\n* Close the keystore file in `SslContextAwareAbstractSource`\n\nThe keystore was loaded through a `FileInputStream` that was never\nclosed, both when validating the configuration and each time an\n`SSLContext` was created. The leaked handle keeps the keystore locked\non Windows until the stream is garbage collected, which makes tests that\nplace the keystore in a JUnit `@TempDir` fail during cleanup.\n\nAssisted-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n\n* Link the changelog entry to the pull request\n\nAssisted-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n\n* Add the pull request link to the changelog entry\n\nAssisted-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "2890a895abf4c9b86399fa575061627c2a7f7936",
      "tree": "8cabdd08b4d3456ca5fff62d46401f7c1a7be670",
      "parents": [
        "033e95fc812a36464b39bffe7d60d129e2cd258c"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Sep 17 15:26:00 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 17 15:26:00 2026 +0000"
      },
      "message": "Bump the maven-minor-updates group with 9 updates (#507)\n\n* Bump the maven-minor-updates group with 9 updates\n\nBumps the maven-minor-updates group with 9 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.slf4j:slf4j-bom](https://github.com/qos-ch/slf4j) | `2.0.18` | `2.0.19` |\n| [com.google.protobuf:protobuf-java](https://github.com/protocolbuffers/protobuf) | `4.36.0` | `4.36.1` |\n| org.eclipse.jetty.ee11:jetty-ee11-servlet | `12.1.12` | `12.1.13` |\n| org.eclipse.jetty:jetty-security | `12.1.12` | `12.1.13` |\n| org.eclipse.jetty:jetty-util | `12.1.12` | `12.1.13` |\n| org.eclipse.jetty:jetty-server | `12.1.12` | `12.1.13` |\n| org.eclipse.jetty:jetty-jmx | `12.1.12` | `12.1.13` |\n| [io.netty:netty-all](https://github.com/netty/netty) | `4.2.17.Final` | `4.2.18.Final` |\n| org.apache.zookeeper:zookeeper | `3.9.5` | `3.9.6` |\n\n\nUpdates `org.slf4j:slf4j-bom` from 2.0.18 to 2.0.19\n- [Release notes](https://github.com/qos-ch/slf4j/releases)\n- [Commits](https://github.com/qos-ch/slf4j/compare/v_2.0.18...v_2.0.19)\n\nUpdates `com.google.protobuf:protobuf-java` from 4.36.0 to 4.36.1\n- [Release notes](https://github.com/protocolbuffers/protobuf/releases)\n- [Commits](https://github.com/protocolbuffers/protobuf/commits)\n\nUpdates `org.eclipse.jetty.ee11:jetty-ee11-servlet` from 12.1.12 to 12.1.13\n\nUpdates `org.eclipse.jetty:jetty-security` from 12.1.12 to 12.1.13\n\nUpdates `org.eclipse.jetty:jetty-util` from 12.1.12 to 12.1.13\n\nUpdates `org.eclipse.jetty:jetty-server` from 12.1.12 to 12.1.13\n\nUpdates `org.eclipse.jetty:jetty-jmx` from 12.1.12 to 12.1.13\n\nUpdates `org.eclipse.jetty:jetty-security` from 12.1.12 to 12.1.13\n\nUpdates `org.eclipse.jetty:jetty-util` from 12.1.12 to 12.1.13\n\nUpdates `org.eclipse.jetty:jetty-server` from 12.1.12 to 12.1.13\n\nUpdates `org.eclipse.jetty:jetty-jmx` from 12.1.12 to 12.1.13\n\nUpdates `io.netty:netty-all` from 4.2.17.Final to 4.2.18.Final\n- [Release notes](https://github.com/netty/netty/releases)\n- [Commits](https://github.com/netty/netty/compare/netty-4.2.17.Final...netty-4.2.18.Final)\n\nUpdates `org.apache.zookeeper:zookeeper` from 3.9.5 to 3.9.6\n\n---\nupdated-dependencies:\n- dependency-name: org.slf4j:slf4j-bom\n  dependency-version: 2.0.19\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: com.google.protobuf:protobuf-java\n  dependency-version: 4.36.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty.ee11:jetty-ee11-servlet\n  dependency-version: 12.1.13\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty:jetty-security\n  dependency-version: 12.1.13\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty:jetty-util\n  dependency-version: 12.1.13\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty:jetty-server\n  dependency-version: 12.1.13\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty:jetty-jmx\n  dependency-version: 12.1.13\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty:jetty-security\n  dependency-version: 12.1.13\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty:jetty-util\n  dependency-version: 12.1.13\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty:jetty-server\n  dependency-version: 12.1.13\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty:jetty-jmx\n  dependency-version: 12.1.13\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: io.netty:netty-all\n  dependency-version: 4.2.18.Final\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.apache.zookeeper:zookeeper\n  dependency-version: 3.9.6\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\n\n* Generate changelog entries for #507\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": "033e95fc812a36464b39bffe7d60d129e2cd258c",
      "tree": "2c9e21729e3c84351dfd06336735d286979e3afa",
      "parents": [
        "58816a830e4e76bb8f69ab48daeb1d7267f4c02e"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Thu Sep 17 16:32:50 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 17 14:32:50 2026 +0000"
      },
      "message": "Use the NPM dependencies from the `gha/v0` branch (#504)\n\nThe staging and production website builds now download `package.json`\nand `package-lock.json` from the `gha/v0` branch of `logging-parent`,\nso all Apache Logging websites share the same Antora dependency tree.\nDependabot keeps those dependencies up to date there,\nwhich makes the local npm entry and the committed lock file redundant.\n\nRelease website staging still uses the committed `package.json`,\nwhich now only points at the shared dependency set.\n\nAssisted-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "58816a830e4e76bb8f69ab48daeb1d7267f4c02e",
      "tree": "064a12797d4aeb0782e3a7016a61a34a7b52d279",
      "parents": [
        "dfe6e6403cfdb2ef8dd7e1dd30de3982920835b3"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Thu Sep 17 16:11:58 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 17 14:11:58 2026 +0000"
      },
      "message": "Align `.gitignore` with the other Apache Logging repositories (#505)\n\nThe file accumulated ad-hoc entries over the years.\nReorganize it into the same sections used by `logging-parent`\nand the other Logging repositories, so the files are easy to\ncompare and keep in sync.\n\nAssisted-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "dfe6e6403cfdb2ef8dd7e1dd30de3982920835b3",
      "tree": "c22b29fb77e18ad9b13a1940d88082d5962c17cd",
      "parents": [
        "3578ff7a322023fdd0993d0dd8d8ad2987d32c4c"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Thu Sep 17 05:31:44 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 17 14:31:44 2026 +0200"
      },
      "message": "Moved HTTP Source to logging-flume-http (#503)"
    },
    {
      "commit": "3578ff7a322023fdd0993d0dd8d8ad2987d32c4c",
      "tree": "a4af6280edc502439a6642552f4eb9bd9d90b122",
      "parents": [
        "b946d586efb67c87bd8266a9bb560032123338ac"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Wed Sep 16 16:04:12 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 16 14:04:12 2026 +0000"
      },
      "message": "Centralize the Surefire `--add-opens` flags in `flume-parent` (#502)\n\nSeveral test suites reflect into JDK internals: the `EnvironmentVariables`\nrule of `system-rules` and `AbstractSSLUtilTest` need `java.lang` and\n`java.util`, the HBase test utilities also need `java.lang.reflect`, and\nthe Kudu test utilities install a fake DNS through `java.net`.\n\nMove the union of these opens to the Surefire `argLine` of `flume-parent`,\nso that modules in this repository and in the satellite repositories no\nlonger need to repeat them. The per-module `argLine` overrides of\n`flume-ng-node`, `flume-ng-sdk` and\n`flume-ng-environment-variable-config-filter` are removed, as the parent\nnow covers them.\n\nAssisted-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "b946d586efb67c87bd8266a9bb560032123338ac",
      "tree": "a555043e5d900497ba59b446318bf3dd3f679c34",
      "parents": [
        "19cf99de00990ad2ec1c5b0c3dbb96869bab009d"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Wed Sep 16 15:31:34 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 16 13:31:34 2026 +0000"
      },
      "message": "Route GitHub notifications away from the dev list (#501)\n\nAlign the notification settings with `logging-flume-mongodb`: issue and\npull request traffic goes to `notifications@logging.apache.org`,\nDependabot pull requests to `robots@logging.apache.org`. The Jira\nautolink settings are dropped, since issues are tracked on GitHub.\n\nAssisted-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "19cf99de00990ad2ec1c5b0c3dbb96869bab009d",
      "tree": "1d55a9cbf680f05cb03d04dfdf1c157d622e11a3",
      "parents": [
        "e2323244e83aaf9baedfa59ef5f393feede5049d"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Wed Sep 16 14:54:01 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 16 12:54:01 2026 +0000"
      },
      "message": "Add `build-result` job to collect matrix results (#500)\n\nThe `build` matrix runs on all three platforms and passes reliably, so all\nof them can be required. Instead of listing each platform in the ruleset,\nadd a single `build-result` job that fails unless the whole matrix\nsucceeded, and require that check in `.asf.yaml`.\n\nAssisted-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "e2323244e83aaf9baedfa59ef5f393feede5049d",
      "tree": "5cb416b3d38197f5b803bc81e61b9b3aab862daa",
      "parents": [
        "c90b93ec14b65ba146034a184b657065717fbf29"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Wed Sep 16 11:48:47 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 16 09:48:47 2026 +0000"
      },
      "message": "Allow manual runs of the `build` workflow (#499)\n\nDependabot PRs are auto-merged with `GITHUB_TOKEN`, and GitHub creates\nno `push` run for such merge commits. Until a human merge lands, trunk\ngets no build and no snapshot. `workflow_dispatch` lets us trigger one.\n\nAssisted-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "c90b93ec14b65ba146034a184b657065717fbf29",
      "tree": "bd8c55589f524e6a67a8be723f22de70bb4128c0",
      "parents": [
        "6a9883190b851db8ac03cb2fdf73a7d478e0d1a8"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Sep 11 19:28:44 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 11 19:28:44 2026 +0000"
      },
      "message": "Bump the maven-minor-updates group with 18 updates (#492)\n\n* Bump the maven-minor-updates group with 18 updates\n\nBumps the maven-minor-updates group with 18 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.bouncycastle:bc-jdk18on-bom](https://github.com/bcgit/bc-java) | `1.85` | `1.85.2` |\n| [com.google.guava:guava](https://github.com/google/guava) | `33.6.0-jre` | `33.7.1-jre` |\n| [com.google.protobuf:protobuf-java](https://github.com/protocolbuffers/protobuf) | `4.35.1` | `4.36.0` |\n| org.eclipse.jetty.ee11:jetty-ee11-servlet | `12.1.11` | `12.1.12` |\n| org.eclipse.jetty:jetty-security | `12.1.11` | `12.1.12` |\n| org.eclipse.jetty:jetty-util | `12.1.11` | `12.1.12` |\n| org.eclipse.jetty:jetty-server | `12.1.11` | `12.1.12` |\n| org.eclipse.jetty:jetty-jmx | `12.1.11` | `12.1.12` |\n| [commons-codec:commons-codec](https://github.com/apache/commons-codec) | `1.22.0` | `1.22.1` |\n| [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) | `2.22.1` | `2.22.2` |\n| [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson-databind) | `2.22.1` | `2.22.2` |\n| [io.netty:netty-all](https://github.com/netty/netty) | `4.2.16.Final` | `4.2.17.Final` |\n| org.mock-server:mockserver-netty | `7.4.0` | `7.6.0` |\n| [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit-framework) | `6.1.2` | `6.1.3` |\n| [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit-framework) | `6.1.2` | `6.1.3` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.1.2` | `6.1.3` |\n| org.apache.maven:apache-maven | `3.9.6` | `3.9.16` |\n| [org.apache.maven.wrapper:maven-wrapper](https://github.com/apache/maven-wrapper) | `3.2.0` | `3.3.4` |\n\n\nUpdates `org.bouncycastle:bc-jdk18on-bom` from 1.85 to 1.85.2\n- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.md)\n- [Commits](https://github.com/bcgit/bc-java/commits)\n\nUpdates `com.google.guava:guava` from 33.6.0-jre to 33.7.1-jre\n- [Release notes](https://github.com/google/guava/releases)\n- [Commits](https://github.com/google/guava/commits)\n\nUpdates `com.google.protobuf:protobuf-java` from 4.35.1 to 4.36.0\n- [Release notes](https://github.com/protocolbuffers/protobuf/releases)\n- [Commits](https://github.com/protocolbuffers/protobuf/commits)\n\nUpdates `org.eclipse.jetty.ee11:jetty-ee11-servlet` from 12.1.11 to 12.1.12\n\nUpdates `org.eclipse.jetty:jetty-security` from 12.1.11 to 12.1.12\n\nUpdates `org.eclipse.jetty:jetty-util` from 12.1.11 to 12.1.12\n\nUpdates `org.eclipse.jetty:jetty-server` from 12.1.11 to 12.1.12\n\nUpdates `org.eclipse.jetty:jetty-jmx` from 12.1.11 to 12.1.12\n\nUpdates `org.eclipse.jetty:jetty-security` from 12.1.11 to 12.1.12\n\nUpdates `org.eclipse.jetty:jetty-util` from 12.1.11 to 12.1.12\n\nUpdates `org.eclipse.jetty:jetty-server` from 12.1.11 to 12.1.12\n\nUpdates `org.eclipse.jetty:jetty-jmx` from 12.1.11 to 12.1.12\n\nUpdates `commons-codec:commons-codec` from 1.22.0 to 1.22.1\n- [Changelog](https://github.com/apache/commons-codec/blob/master/RELEASE-NOTES.txt)\n- [Commits](https://github.com/apache/commons-codec/compare/rel/commons-codec-1.22.0...rel/commons-codec-1.22.1)\n\nUpdates `com.fasterxml.jackson.core:jackson-core` from 2.22.1 to 2.22.2\n- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.22.1...jackson-core-2.22.2)\n\nUpdates `com.fasterxml.jackson.core:jackson-databind` from 2.22.1 to 2.22.2\n- [Commits](https://github.com/FasterXML/jackson-databind/compare/jackson-databind-2.22.1...jackson-databind-2.22.2)\n\nUpdates `io.netty:netty-all` from 4.2.16.Final to 4.2.17.Final\n- [Release notes](https://github.com/netty/netty/releases)\n- [Commits](https://github.com/netty/netty/compare/netty-4.2.16.Final...netty-4.2.17.Final)\n\nUpdates `org.mock-server:mockserver-netty` from 7.4.0 to 7.6.0\n\nUpdates `org.junit.jupiter:junit-jupiter-api` from 6.1.2 to 6.1.3\n- [Release notes](https://github.com/junit-team/junit-framework/releases)\n- [Commits](https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3)\n\nUpdates `org.junit.jupiter:junit-jupiter-engine` from 6.1.2 to 6.1.3\n- [Release notes](https://github.com/junit-team/junit-framework/releases)\n- [Commits](https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3)\n\nUpdates `org.junit.vintage:junit-vintage-engine` from 6.1.2 to 6.1.3\n- [Release notes](https://github.com/junit-team/junit-framework/releases)\n- [Commits](https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3)\n\nUpdates `org.junit.jupiter:junit-jupiter-engine` from 6.1.2 to 6.1.3\n- [Release notes](https://github.com/junit-team/junit-framework/releases)\n- [Commits](https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3)\n\nUpdates `org.junit.vintage:junit-vintage-engine` from 6.1.2 to 6.1.3\n- [Release notes](https://github.com/junit-team/junit-framework/releases)\n- [Commits](https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3)\n\nUpdates `org.apache.maven:apache-maven` from 3.9.6 to 3.9.16\n\nUpdates `org.apache.maven.wrapper:maven-wrapper` from 3.2.0 to 3.3.4\n- [Release notes](https://github.com/apache/maven-wrapper/releases)\n- [Commits](https://github.com/apache/maven-wrapper/compare/maven-wrapper-3.2.0...maven-wrapper-3.3.4)\n\n---\nupdated-dependencies:\n- dependency-name: org.bouncycastle:bc-jdk18on-bom\n  dependency-version: 1.85.2\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: com.google.guava:guava\n  dependency-version: 33.7.1-jre\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: maven-minor-updates\n- dependency-name: com.google.protobuf:protobuf-java\n  dependency-version: 4.36.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty.ee11:jetty-ee11-servlet\n  dependency-version: 12.1.12\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty:jetty-security\n  dependency-version: 12.1.12\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty:jetty-util\n  dependency-version: 12.1.12\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty:jetty-server\n  dependency-version: 12.1.12\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty:jetty-jmx\n  dependency-version: 12.1.12\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty:jetty-security\n  dependency-version: 12.1.12\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty:jetty-util\n  dependency-version: 12.1.12\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty:jetty-server\n  dependency-version: 12.1.12\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty:jetty-jmx\n  dependency-version: 12.1.12\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: commons-codec:commons-codec\n  dependency-version: 1.22.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: com.fasterxml.jackson.core:jackson-core\n  dependency-version: 2.22.2\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: com.fasterxml.jackson.core:jackson-databind\n  dependency-version: 2.22.2\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: io.netty:netty-all\n  dependency-version: 4.2.17.Final\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.mock-server:mockserver-netty\n  dependency-version: 7.6.0\n  dependency-type: direct:development\n  update-type: version-update:semver-minor\n  dependency-group: maven-minor-updates\n- dependency-name: org.junit.jupiter:junit-jupiter-api\n  dependency-version: 6.1.3\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.junit.jupiter:junit-jupiter-engine\n  dependency-version: 6.1.3\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.junit.vintage:junit-vintage-engine\n  dependency-version: 6.1.3\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.junit.jupiter:junit-jupiter-engine\n  dependency-version: 6.1.3\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.junit.vintage:junit-vintage-engine\n  dependency-version: 6.1.3\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.apache.maven:apache-maven\n  dependency-version: 3.9.16\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.apache.maven.wrapper:maven-wrapper\n  dependency-version: 3.3.4\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: maven-minor-updates\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\n\n* Generate changelog entries for #492\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": "6a9883190b851db8ac03cb2fdf73a7d478e0d1a8",
      "tree": "2a3edb04dc533932a5aeb8ed140c756e2d8e2641",
      "parents": [
        "7b41e071caf1566bf73add2f40b530875d61da10"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Fri Sep 11 12:01:43 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 11 21:01:43 2026 +0200"
      },
      "message": "Add MongoDB Sink to bom (#497)"
    },
    {
      "commit": "7b41e071caf1566bf73add2f40b530875d61da10",
      "tree": "2e81c10d370e547ddd93b24d1627c05f86aa8e17",
      "parents": [
        "501c502a55d2531413b1946893db24c7443609e1"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Wed Sep 02 19:26:52 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 02 17:26:52 2026 +0000"
      },
      "message": "Publish the website at the root of the site directory (#496)\n\nAntora only drops the component segment from page URLs\nfor a component named `ROOT`.\nWith the component named `flume`,\npages ended up at `/flume/2.x/flume/…` instead of `/flume/2.x/…`.\n\nAssisted-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\nClaude-Session: https://claude.ai/code/session_01Do7JThLiGUrpgGtMXEtEQM"
    },
    {
      "commit": "501c502a55d2531413b1946893db24c7443609e1",
      "tree": "7ab1ee74bd191d668ca61f1c6cb1f45ce56d6cc0",
      "parents": [
        "c0d73dcae30ecf10c343c83ac988d5c8d3ffb824"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Tue Sep 01 22:23:06 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 22:23:06 2026 +0200"
      },
      "message": "Replace the SDK test JAR with a `flume-ng-sdk-test` module (#495)\n\nThe site build runs `mvnw -Dmaven.test.skip install`, which also skips\n`jar:test-jar`. Maven still resolves the full test classpath before\n`compiler:testCompile` and `surefire:test` can read their skip flags, so\nthe cross-module `flume-ng-sdk:tests` dependency was demanded but never\nproduced and `deploy-site` failed to resolve it.\n\nAssisted-By: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e\nClaude-Session: https://claude.ai/code/session_01WnSh7gt5XaRzNgDYLuFzZ6"
    },
    {
      "commit": "c0d73dcae30ecf10c343c83ac988d5c8d3ffb824",
      "tree": "1f482d7e09b5c1b8130b0f607204edd31e173cad",
      "parents": [
        "373de83efb1d6a2b4feb335377435fc97464ba03"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Tue Aug 25 13:48:30 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 11:48:30 2026 +0000"
      },
      "message": "Make the build reproducible by deriving version metadata from the manifest (#489)\n\n* Apply the `revision` convention to `flume-parent`\n\nEvery published module inherits from `flume-parent`, not from the\naggregator, so the CI-friendly properties have to be declared there as\nwell. Without them the release automation bumps only the aggregator and\nthe artifacts ship a stale version and build timestamp.\n\nAssisted-By: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e\nClaude-Session: https://claude.ai/code/session_011QwMh1JvFaPBgWEGrMgMj7\n\n* Derive the version metadata from the JAR manifest\n\n`saveVersion.sh` recorded the builder\u0027s user name, host, clock and a\nchecksum of the working copy, so no two builds agreed and the source\ndistribution, which carries no repository metadata, agreed with none.\nThe same facts now come from POM-derived manifest headers, which a Git\ncheckout and the source archive produce identically.\n\n`getUser()` and `getSrcChecksum()` are deprecated for removal, and\n`getRevision()` reports nothing until the build records a commit id\nagain.\n\nAssisted-By: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e\nClaude-Session: https://claude.ai/code/session_011QwMh1JvFaPBgWEGrMgMj7\n\n* Fall back to the Maven descriptor on blank manifest headers\n\nA present but empty header would have suppressed the fallback.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\nClaude-Session: https://claude.ai/code/session_016zsFn1f2B32vcNoCeZSfn7\n\n* Mention the \"Unknown\" sentinel in the `getDate` contract\n\nThe `@return` clause promised ISO-8601 unconditionally.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\nClaude-Session: https://claude.ai/code/session_016zsFn1f2B32vcNoCeZSfn7\n\n* Keep repository specifics out of the metadata test\n\nDownstream builds override `\u003cscm\u003e`; assert only invariants, while\nstill rejecting tags that betray an unset `\u003cscm\u003e\u003ctag\u003e`.\n\n* Apply Spotless formatting\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "373de83efb1d6a2b4feb335377435fc97464ba03",
      "tree": "93db5190def8ce26334b042b446ea0ec9388994f",
      "parents": [
        "efdce83a1702764a241d3fae10c575af6d49db97"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Tue Aug 25 13:46:29 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 11:46:29 2026 +0000"
      },
      "message": "De-flake `TestExecSource` on Windows (#491)\n\nFixed sleeps lose to PowerShell start-up times on loaded CI runners:\nawait the source counter instead.\n`Get-Content -Wait` keeps the process alive like `tail -f`,\nso the batch timeout, not the EOF flush, delivers the events.\nWriting the input file before the source starts removes the race\nwith the one-shot read of the old command.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\nClaude-Session: https://claude.ai/code/session_016zsFn1f2B32vcNoCeZSfn7"
    },
    {
      "commit": "efdce83a1702764a241d3fae10c575af6d49db97",
      "tree": "edea0eeee070ebfa3491d98461b6e3698d1ca2e0",
      "parents": [
        "3574879c7e61bc3f3b6648b69d7b6f91817150b3"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Tue Aug 25 13:24:26 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 11:24:26 2026 +0000"
      },
      "message": "Run `install` before generating the site (#490)\n\nThe `site` lifecycle packages no jars, so the reactor\u0027s SNAPSHOT\ndependencies only resolved when the shared Maven cache happened to\ncontain them from a previous snapshot deploy job.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\nClaude-Session: https://claude.ai/code/session_016zsFn1f2B32vcNoCeZSfn7"
    },
    {
      "commit": "3574879c7e61bc3f3b6648b69d7b6f91817150b3",
      "tree": "61cc84d5eaca1e21201fc80163ea4a8cffe3262e",
      "parents": [
        "f401fa9a7c66e84e2f3a65af5a8e77712709c42f"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Sat Aug 01 00:49:05 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 01 00:49:05 2026 +0200"
      },
      "message": "Require the build checks before merging (#486)\n\nAuto-merged Dependabot PRs landed on trunk with a failing build,\nbecause the `build` workflow was not a required check.\nRequire all three platform jobs, so auto-merge waits for them.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "f401fa9a7c66e84e2f3a65af5a8e77712709c42f",
      "tree": "f406fbae9779628d0dd4789195ee66f4e701e1e4",
      "parents": [
        "3d464e076b52ed051ca51bc704a901507c20a304"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Sat Aug 01 00:49:04 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 01 00:49:04 2026 +0200"
      },
      "message": "Adjust PMD violation ceilings to PMD 7 counts (#485)\n\nThe maven-pmd-plugin 3.15.0 to 3.28.0 bump (#479) switched from PMD 6\nto PMD 7.17.0, which finds a different violation mix in most modules.\nRatchet each module\u0027s `pmd.maxAllowedViolations` to the new actual\ncount so the build passes again. The counts rise in some modules and\ndrop in others (flume-ng-sdk goes from 170 to 30); fixing the\nviolations themselves remains a TODO.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "3d464e076b52ed051ca51bc704a901507c20a304",
      "tree": "191873210ddb3312ac6c20488216740f572dd856",
      "parents": [
        "c977149f741e15b5ae83b03cf8f17e4251d0472a"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Fri Jul 31 23:54:44 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 23:54:44 2026 +0200"
      },
      "message": "Generate release notes with `log4j-changelog` (#477)\n\n* Generate release notes with `log4j-changelog`\n\nConvert the 16 releases from the JIRA-generated release pages into\n`src/changelog`, one XML entry per JIRA issue, so the release notes\nare generated by `log4j-changelog` like in the other Logging Services\nprojects. Release dates come from the JIRA project metadata and the\nper-release introduction is kept in each release template.\n\nThe `.2.x.x` directory distills the commit history since 1.11.0:\ncomponents moved to satellite repositories, the Java 17 and Log4j API\nmigrations, the slimmed-down `flume-ng-core` dependencies and the\nuser-facing fixes. Changes to components that were later moved out of\nthis repository are left to the changelogs of their new homes.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Replace the release pages with the generated release notes\n\nThe hand-maintained pages under `releases/` duplicate what\n`log4j-changelog` now generates. The news page links now point to the\nper-version anchors of the generated page.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "c977149f741e15b5ae83b03cf8f17e4251d0472a",
      "tree": "98cf6ac66cc58aac65df196658b236ab9ccc678b",
      "parents": [
        "96e703e7b789e59d9e48913be9945fbc3f498c61"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Jul 31 21:34:41 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 21:34:41 2026 +0000"
      },
      "message": "Bump junit-jupiter.version from 5.12.2 to 6.1.2 (#480)\n\n* Bump junit-jupiter.version from 5.12.2 to 6.1.2\n\nBumps `junit-jupiter.version` from 5.12.2 to 6.1.2.\n\nUpdates `org.junit.jupiter:junit-jupiter-api` from 5.12.2 to 6.1.2\n- [Release notes](https://github.com/junit-team/junit-framework/releases)\n- [Commits](https://github.com/junit-team/junit-framework/compare/r5.12.2...r6.1.2)\n\nUpdates `org.junit.jupiter:junit-jupiter-engine` from 5.12.2 to 6.1.2\n- [Release notes](https://github.com/junit-team/junit-framework/releases)\n- [Commits](https://github.com/junit-team/junit-framework/compare/r5.12.2...r6.1.2)\n\nUpdates `org.junit.vintage:junit-vintage-engine` from 5.12.2 to 6.1.2\n- [Release notes](https://github.com/junit-team/junit-framework/releases)\n- [Commits](https://github.com/junit-team/junit-framework/compare/r5.12.2...r6.1.2)\n\n---\nupdated-dependencies:\n- dependency-name: org.junit.jupiter:junit-jupiter-api\n  dependency-version: 6.1.2\n  dependency-type: direct:development\n  update-type: version-update:semver-major\n- dependency-name: org.junit.jupiter:junit-jupiter-engine\n  dependency-version: 6.1.2\n  dependency-type: direct:development\n  update-type: version-update:semver-major\n- dependency-name: org.junit.vintage:junit-vintage-engine\n  dependency-version: 6.1.2\n  dependency-type: direct:development\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\n\n* Generate changelog entries for #480\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": "96e703e7b789e59d9e48913be9945fbc3f498c61",
      "tree": "35b8972ca6b62e214327d6d9a7804ad3a48dadf1",
      "parents": [
        "62c46cb20f73e85805bb6e88fb7fdd7d70514e6a"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Jul 31 21:34:16 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 21:34:16 2026 +0000"
      },
      "message": "Bump org.apache.directory.jdbm:apacheds-jdbm1 from 2.0.0-M2 to 2.0.0-M3 (#481)\n\n* Bump org.apache.directory.jdbm:apacheds-jdbm1 from 2.0.0-M2 to 2.0.0-M3\n\nBumps org.apache.directory.jdbm:apacheds-jdbm1 from 2.0.0-M2 to 2.0.0-M3.\n\n---\nupdated-dependencies:\n- dependency-name: org.apache.directory.jdbm:apacheds-jdbm1\n  dependency-version: 2.0.0-M3\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\n\n* Generate changelog entries for #481\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": "62c46cb20f73e85805bb6e88fb7fdd7d70514e6a",
      "tree": "2958c0d5a79ac8aa601209f26855f98c68d0840d",
      "parents": [
        "32813b12892207be933be54ba59e7fbb47dc846c"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Jul 31 21:34:05 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 21:34:05 2026 +0000"
      },
      "message": "Bump org.mock-server:mockserver-netty from 3.10.8 to 7.4.0 (#482)\n\n* Bump org.mock-server:mockserver-netty from 3.10.8 to 7.4.0\n\nBumps org.mock-server:mockserver-netty from 3.10.8 to 7.4.0.\n\n---\nupdated-dependencies:\n- dependency-name: org.mock-server:mockserver-netty\n  dependency-version: 7.4.0\n  dependency-type: direct:development\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\n\n* Generate changelog entries for #482\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": "32813b12892207be933be54ba59e7fbb47dc846c",
      "tree": "549873b2f70c1958f9783e2249a9a561d284f59c",
      "parents": [
        "089b171f66f4f69cfef1cd0d3375b35b92b29e95"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Jul 31 21:17:48 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 21:17:48 2026 +0000"
      },
      "message": "Bump the github-actions-updates group with 4 updates (#484)\n\n* Bump the github-actions-updates group with 4 updates\n\nBumps the github-actions-updates group with 4 updates: [actions/checkout](https://github.com/actions/checkout), [github/codeql-action/init](https://github.com/github/codeql-action), [github/codeql-action/autobuild](https://github.com/github/codeql-action) and [github/codeql-action/analyze](https://github.com/github/codeql-action).\n\n\nUpdates `actions/checkout` from 2 to 7\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v2...v7)\n\nUpdates `github/codeql-action/init` from 2.1.37 to 4.37.3\n- [Release notes](https://github.com/github/codeql-action/releases)\n- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/github/codeql-action/compare/959cbb7472c4d4ad70cdfe6f4976053fe48ab394...e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81)\n\nUpdates `github/codeql-action/autobuild` from 2.1.37 to 4.37.3\n- [Release notes](https://github.com/github/codeql-action/releases)\n- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/github/codeql-action/compare/959cbb7472c4d4ad70cdfe6f4976053fe48ab394...e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81)\n\nUpdates `github/codeql-action/analyze` from 2.1.37 to 4.37.3\n- [Release notes](https://github.com/github/codeql-action/releases)\n- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/github/codeql-action/compare/959cbb7472c4d4ad70cdfe6f4976053fe48ab394...e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81)\n\n---\nupdated-dependencies:\n- dependency-name: actions/checkout\n  dependency-version: \u00277\u0027\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n  dependency-group: github-actions-updates\n- dependency-name: github/codeql-action/init\n  dependency-version: 4.37.3\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n  dependency-group: github-actions-updates\n- dependency-name: github/codeql-action/autobuild\n  dependency-version: 4.37.3\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n  dependency-group: github-actions-updates\n- dependency-name: github/codeql-action/analyze\n  dependency-version: 4.37.3\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n  dependency-group: github-actions-updates\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\n\n* Generate changelog entries for #484\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": "089b171f66f4f69cfef1cd0d3375b35b92b29e95",
      "tree": "cf35f93461888b533571dd571963d04be47682f9",
      "parents": [
        "7d95757b50a1a74a1327bb1c57f8745c2fc8bc7a"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Jul 31 20:55:55 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 20:55:55 2026 +0000"
      },
      "message": "Bump the maven-minor-updates group with 24 updates (#479)\n\n* Bump the maven-minor-updates group with 24 updates\n\nBumps the maven-minor-updates group with 24 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.bouncycastle:bc-jdk18on-bom](https://github.com/bcgit/bc-java) | `1.84` | `1.85` |\n| [commons-cli:commons-cli](https://github.com/apache/commons-cli) | `1.5.0` | `1.11.0` |\n| [com.google.guava:guava](https://github.com/google/guava) | `33.4.8-jre` | `33.6.0-jre` |\n| [org.apache.logging.log4j:log4j-bom](https://github.com/apache/logging-log4j2) | `2.26.0` | `2.26.1` |\n| [org.slf4j:slf4j-bom](https://github.com/qos-ch/slf4j) | `2.0.17` | `2.0.18` |\n| [com.google.protobuf:protobuf-java](https://github.com/protocolbuffers/protobuf) | `4.35.0` | `4.35.1` |\n| org.eclipse.jetty.ee11:jetty-ee11-servlet | `12.1.9` | `12.1.11` |\n| org.eclipse.jetty:jetty-security | `12.1.9` | `12.1.11` |\n| org.eclipse.jetty:jetty-util | `12.1.9` | `12.1.11` |\n| org.eclipse.jetty:jetty-server | `12.1.9` | `12.1.11` |\n| org.eclipse.jetty:jetty-jmx | `12.1.9` | `12.1.11` |\n| org.apache.httpcomponents:httpclient | `4.5.13` | `4.5.14` |\n| org.apache.httpcomponents:httpcore | `4.4.15` | `4.4.16` |\n| [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) | `2.22.0` | `2.22.1` |\n| [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) | `2.22.0` | `2.22.1` |\n| [org.apache.mina:mina-core](https://github.com/apache/mina) | `2.2.8` | `2.2.9` |\n| [io.netty:netty-all](https://github.com/netty/netty) | `4.2.15.Final` | `4.2.16.Final` |\n| io.prometheus:prometheus-metrics-core | `1.7.0` | `1.8.0` |\n| io.prometheus:prometheus-metrics-exporter-servlet-jakarta | `1.7.0` | `1.8.0` |\n| org.apache.zookeeper:zookeeper | `3.9.3` | `3.9.5` |\n| [org.mockito:mockito-core](https://github.com/mockito/mockito) | `5.18.0` | `5.23.0` |\n| [com.google.errorprone:error_prone_annotations](https://github.com/google/error-prone) | `2.48.0` | `2.50.0` |\n| [org.apache.maven.plugins:maven-pmd-plugin](https://github.com/apache/maven-pmd-plugin) | `3.15.0` | `3.28.0` |\n| [net.nicoulaj.maven.plugins:checksum-maven-plugin](https://github.com/nicoulaj/checksum-maven-plugin) | `1.7` | `1.11` |\n\n\nUpdates `org.bouncycastle:bc-jdk18on-bom` from 1.84 to 1.85\n- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)\n- [Commits](https://github.com/bcgit/bc-java/commits)\n\nUpdates `commons-cli:commons-cli` from 1.5.0 to 1.11.0\n- [Changelog](https://github.com/apache/commons-cli/blob/master/RELEASE-NOTES.txt)\n- [Commits](https://github.com/apache/commons-cli/compare/commons-cli-1.5.0...rel/commons-cli-1.11.0)\n\nUpdates `com.google.guava:guava` from 33.4.8-jre to 33.6.0-jre\n- [Release notes](https://github.com/google/guava/releases)\n- [Commits](https://github.com/google/guava/commits)\n\nUpdates `org.apache.logging.log4j:log4j-bom` from 2.26.0 to 2.26.1\n- [Release notes](https://github.com/apache/logging-log4j2/releases)\n- [Changelog](https://github.com/apache/logging-log4j2/blob/2.x/RELEASE-NOTES.adoc)\n- [Commits](https://github.com/apache/logging-log4j2/compare/rel/2.26.0...rel/2.26.1)\n\nUpdates `org.slf4j:slf4j-bom` from 2.0.17 to 2.0.18\n- [Release notes](https://github.com/qos-ch/slf4j/releases)\n- [Commits](https://github.com/qos-ch/slf4j/compare/v_2.0.17...v_2.0.18)\n\nUpdates `com.google.protobuf:protobuf-java` from 4.35.0 to 4.35.1\n- [Release notes](https://github.com/protocolbuffers/protobuf/releases)\n- [Commits](https://github.com/protocolbuffers/protobuf/commits)\n\nUpdates `org.eclipse.jetty.ee11:jetty-ee11-servlet` from 12.1.9 to 12.1.11\n\nUpdates `org.eclipse.jetty:jetty-security` from 12.1.9 to 12.1.11\n\nUpdates `org.eclipse.jetty:jetty-util` from 12.1.9 to 12.1.11\n\nUpdates `org.eclipse.jetty:jetty-server` from 12.1.9 to 12.1.11\n\nUpdates `org.eclipse.jetty:jetty-jmx` from 12.1.9 to 12.1.11\n\nUpdates `org.eclipse.jetty:jetty-security` from 12.1.9 to 12.1.11\n\nUpdates `org.eclipse.jetty:jetty-util` from 12.1.9 to 12.1.11\n\nUpdates `org.eclipse.jetty:jetty-server` from 12.1.9 to 12.1.11\n\nUpdates `org.eclipse.jetty:jetty-jmx` from 12.1.9 to 12.1.11\n\nUpdates `org.apache.httpcomponents:httpclient` from 4.5.13 to 4.5.14\n\nUpdates `org.apache.httpcomponents:httpcore` from 4.4.15 to 4.4.16\n\nUpdates `com.fasterxml.jackson.core:jackson-core` from 2.22.0 to 2.22.1\n- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.22.0...jackson-core-2.22.1)\n\nUpdates `com.fasterxml.jackson.core:jackson-databind` from 2.22.0 to 2.22.1\n- [Commits](https://github.com/FasterXML/jackson/commits)\n\nUpdates `org.apache.mina:mina-core` from 2.2.8 to 2.2.9\n- [Commits](https://github.com/apache/mina/compare/2.2.8...2.2.9)\n\nUpdates `io.netty:netty-all` from 4.2.15.Final to 4.2.16.Final\n- [Release notes](https://github.com/netty/netty/releases)\n- [Commits](https://github.com/netty/netty/compare/netty-4.2.15.Final...netty-4.2.16.Final)\n\nUpdates `io.prometheus:prometheus-metrics-core` from 1.7.0 to 1.8.0\n\nUpdates `io.prometheus:prometheus-metrics-exporter-servlet-jakarta` from 1.7.0 to 1.8.0\n\nUpdates `io.prometheus:prometheus-metrics-exporter-servlet-jakarta` from 1.7.0 to 1.8.0\n\nUpdates `org.apache.zookeeper:zookeeper` from 3.9.3 to 3.9.5\n\nUpdates `org.mockito:mockito-core` from 5.18.0 to 5.23.0\n- [Release notes](https://github.com/mockito/mockito/releases)\n- [Commits](https://github.com/mockito/mockito/compare/v5.18.0...v5.23.0)\n\nUpdates `com.google.errorprone:error_prone_annotations` from 2.48.0 to 2.50.0\n- [Release notes](https://github.com/google/error-prone/releases)\n- [Commits](https://github.com/google/error-prone/compare/v2.48.0...v2.50.0)\n\nUpdates `org.apache.maven.plugins:maven-pmd-plugin` from 3.15.0 to 3.28.0\n- [Release notes](https://github.com/apache/maven-pmd-plugin/releases)\n- [Commits](https://github.com/apache/maven-pmd-plugin/compare/maven-pmd-plugin-3.15.0...maven-pmd-plugin-3.28.0)\n\nUpdates `net.nicoulaj.maven.plugins:checksum-maven-plugin` from 1.7 to 1.11\n- [Commits](https://github.com/nicoulaj/checksum-maven-plugin/compare/1.7...1.11)\n\n---\nupdated-dependencies:\n- dependency-name: org.bouncycastle:bc-jdk18on-bom\n  dependency-version: \u00271.85\u0027\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: maven-minor-updates\n- dependency-name: commons-cli:commons-cli\n  dependency-version: 1.11.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: maven-minor-updates\n- dependency-name: com.google.guava:guava\n  dependency-version: 33.6.0-jre\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: maven-minor-updates\n- dependency-name: org.apache.logging.log4j:log4j-bom\n  dependency-version: 2.26.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.slf4j:slf4j-bom\n  dependency-version: 2.0.18\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: com.google.protobuf:protobuf-java\n  dependency-version: 4.35.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty.ee11:jetty-ee11-servlet\n  dependency-version: 12.1.11\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty:jetty-security\n  dependency-version: 12.1.11\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty:jetty-util\n  dependency-version: 12.1.11\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty:jetty-server\n  dependency-version: 12.1.11\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty:jetty-jmx\n  dependency-version: 12.1.11\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty:jetty-security\n  dependency-version: 12.1.11\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty:jetty-util\n  dependency-version: 12.1.11\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty:jetty-server\n  dependency-version: 12.1.11\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.eclipse.jetty:jetty-jmx\n  dependency-version: 12.1.11\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.apache.httpcomponents:httpclient\n  dependency-version: 4.5.14\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.apache.httpcomponents:httpcore\n  dependency-version: 4.4.16\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: com.fasterxml.jackson.core:jackson-core\n  dependency-version: 2.22.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: com.fasterxml.jackson.core:jackson-databind\n  dependency-version: 2.22.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.apache.mina:mina-core\n  dependency-version: 2.2.9\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: io.netty:netty-all\n  dependency-version: 4.2.16.Final\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: io.prometheus:prometheus-metrics-core\n  dependency-version: 1.8.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: maven-minor-updates\n- dependency-name: io.prometheus:prometheus-metrics-exporter-servlet-jakarta\n  dependency-version: 1.8.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: maven-minor-updates\n- dependency-name: io.prometheus:prometheus-metrics-exporter-servlet-jakarta\n  dependency-version: 1.8.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: maven-minor-updates\n- dependency-name: org.apache.zookeeper:zookeeper\n  dependency-version: 3.9.5\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: maven-minor-updates\n- dependency-name: org.mockito:mockito-core\n  dependency-version: 5.23.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: maven-minor-updates\n- dependency-name: com.google.errorprone:error_prone_annotations\n  dependency-version: 2.50.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: maven-minor-updates\n- dependency-name: org.apache.maven.plugins:maven-pmd-plugin\n  dependency-version: 3.28.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: maven-minor-updates\n- dependency-name: net.nicoulaj.maven.plugins:checksum-maven-plugin\n  dependency-version: \u00271.11\u0027\n  dependency-type: direct:development\n  update-type: version-update:semver-minor\n  dependency-group: maven-minor-updates\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\n\n* Generate changelog entries for #479\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": "7d95757b50a1a74a1327bb1c57f8745c2fc8bc7a",
      "tree": "1a1a48b9b59f87ca4cf7ae6a84b1823f5b4256fc",
      "parents": [
        "7e82cd289c65f933ecae3315cf9817a66a711188"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Fri Jul 31 22:31:47 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 22:31:47 2026 +0200"
      },
      "message": "Automate dependency updates with Dependabot (#475)\n\nCopy the Dependabot setup from Log4j: version updates target `trunk`\nmonthly, and the `logging-parent` reusable workflows generate a\nchangelog entry for each Dependabot PR.\n\nThe changelog entries require a `src/changelog` directory, so seed it\nwith templates and drop `log4j.changelog.skip`, whose rationale (no\n`src/changelog` directory) no longer holds.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "7e82cd289c65f933ecae3315cf9817a66a711188",
      "tree": "5438916a163b09a8d0c0b2c54ae9f3d39ca4cf73",
      "parents": [
        "ae6c7db22f7cab4d4dc496ae4cdb1d13130a8343"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Fri Jul 31 22:31:46 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 22:31:46 2026 +0200"
      },
      "message": "Build with the `logging-parent` reusable workflows (#470)\n\n* Build with the `logging-parent` reusable workflows\n\nFlume no longer maintains its own checkout, JDK and Maven steps, and gains\nsnapshot/release deployment and reproducibility verification in exchange.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Skip Taildir tests on non-POSIX file systems\n\nTaildirSource tracks files by inode, so its tests cannot pass when the\ndefault file system lacks a `unix` attribute view (e.g. on Windows).\nDocument that requirement in the user guide.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Formatting\n\n* Fix race condition in TestSyslogTcpSource.testSSLMessages\n\nThe test read from the channel immediately after closing the client\nsocket, but the source delivers events asynchronously, so the take\ncould return null on slow machines (first seen on Windows CI).\n\nWait for the source counter with Awaitility and close the TLS socket\ngracefully, flushing before close.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Keep the client socket open until the syslog event is committed\n\nThe Windows CI logs show the TLS handshake succeeding and the\nconnection aborting one millisecond later: the client never reads the\nTLS 1.3 session tickets sent by the server, so close() aborts the\nconnection with a TCP RST, which on Windows discards the syslog record\nbefore the server reads it.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Reflow comment"
    },
    {
      "commit": "ae6c7db22f7cab4d4dc496ae4cdb1d13130a8343",
      "tree": "0fd086efe82b7046f4011479d1b80b8976e2e49a",
      "parents": [
        "70f413ec17411a3aca1fb5e722c06822b2b9dc76"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Fri Jul 31 21:58:37 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 21:58:37 2026 +0200"
      },
      "message": "Fix the file channel and the test suite on Windows (#478)\n\n* Skip Taildir tests on non-POSIX file systems\n\nTaildirSource tracks files by inode, so its tests cannot pass when the\ndefault file system lacks a `unix` attribute view (e.g. on Windows).\nDocument that requirement in the user guide.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Fix TestSyslogTcpSource.testSSLMessages on Windows\n\nThe test wrote to the TLS socket and immediately closed it. The client\nnever reads the TLS 1.3 session tickets sent by the server, so close()\naborts the connection with a TCP RST, which on Windows discards the\nsyslog record before the server reads it. Keep the socket open, waiting\nwith Awaitility, until the server commits the event to the channel.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Add Windows to the CI matrix\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Unmap the checkpoint buffer when the backing store closes\n\nOn Java 17 nothing unmaps the checkpoint MappedByteBuffer, and on\nWindows a mapped file cannot be deleted, so checkpoint recovery and\nrestarts fail. Unmap explicitly via sun.misc.Unsafe.invokeCleaner,\nmake close() idempotent, guard the accessors against use after unmap\n(which would crash the JVM) and release the mapping when a constructor\nthrows BadCheckpointException or when upgrading a V2 checkpoint.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Close the file channel resources on every failure path\n\nMapDB 0.9.x cannot unmap its buffers on Java 17, so disable\nmemory-mapped files for the transient queue set. Close the queue and\nbacking store discarded by the bad-checkpoint recovery in Log.replay,\nclose the log of a channel whose start() failed, and release the\ninflight files when the queue constructor throws. Windows keeps open\nand mapped files locked, so any of these leaks made the channel unable\nto restart over the same directories.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Close file channel queues and stores in tests\n\nSeveral tests leaked FlumeEventQueue instances or reused one temporary\ndirectory across test methods, which fails on Windows where the leaked\nMapDB files cannot be deleted. Also stop channels whose start() failed,\nnow that FileChannel releases the log in that case.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Make the remaining file channel tests Windows-compatible\n\nTestFileChannelRestart never closed the stream it corrupted the\ncheckpoint metadata with, so the recovery could not delete the file on\nWindows. TestFileChannelEncryption asserted the POSIX rendering of a\nFileNotFoundException message. TestFileChannelErrorMetrics injects I/O\nerrors by deleting files the running channel uses, which Windows does\nnot allow at all, so those tests are skipped there.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Improve `checkNotClosed` comment\n\nCo-authored-by: Copilot Autofix powered by AI \u003c175728472+Copilot@users.noreply.github.com\u003e\n\n* Clean up the bad-checkpoint failure paths\n\nAttach close failures to the original exception instead of logging\nthem separately, so they show up with their cause in the recovery\nwarnings. Fold the V3 constructor helper back into the constructor,\nwhich lets metaDataFile become final.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Release the MapDB before re-creating a queue in tests\n\nThe FlumeEventQueue constructor deletes the queueset directory, which\nfails on Windows while the previous queue instance still holds the\nMapDB open. Production code always calls replayComplete() before a\nqueue is abandoned, so do the same in the tests.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Let the GC release the checkpoint mapping\n\nForcibly unmapping the checkpoint MappedByteBuffer via\nsun.misc.Unsafe.invokeCleaner is unsafe: any access to an unmapped\nbuffer crashes the JVM. Drop the buffer references when the backing\nstore closes and let the garbage collector release the mapping instead.\n\nThe corrupt-checkpoint recovery path deletes checkpoint files moments\nafter the discarded store is closed, so retry the deletion with GC\ncycles in between (a no-op when the first attempt succeeds). Tests that\ndelete a recently mapped checkpoint wait the same way via\nTestUtils.awaitDelete. The V2 to V3 upgrade now reads the queue state,\ncloses the V2 store and backs up the file before rewriting it in place,\nwhich needs no unmapping: writing to and re-mapping a mapped file is\nallowed even on Windows, only deletion is blocked.\n\nAlso ratchet the spotbugs and pmd ceilings to the current counts.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Shorten comments and use semantic line breaks\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Fix TestLogFile and TestLog on Windows\n\nTestLogFile deleted the data file while the writer from setup() still\nhad it open, which Windows forbids. TestLog filled the disk to exactly\nthe minimum required space, so any temp files freed by other processes\non a shared CI runner pushed the usable space back above the limit\nbefore the put checked it.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Open java.lang to the EnvironmentVariables rule\n\nOn Windows the rule also patches\nProcessEnvironment.theCaseInsensitiveEnvironment, which lives in\njava.lang, while on Linux opening java.util was enough.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Retry directory deletion in TestFileChannelIntegrityTool\n\nOn Windows the checkpoint file of a stopped channel cannot be deleted\nuntil the garbage collector releases its mapping. The failed teardown\nleaked files into the shared directories and broke the following tests.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Open java.lang to the EnvironmentVariables rule in config filter tests\n\nSame fix as in flume-ng-node: on Windows the rule also patches\nProcessEnvironment.theCaseInsensitiveEnvironment, which lives in\njava.lang.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Skip TestExternalProcessConfigFilter on Windows\n\nThe external commands under test are shell scripts, which Windows\ncannot execute.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n---------\n\nCo-authored-by: Copilot Autofix powered by AI \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "70f413ec17411a3aca1fb5e722c06822b2b9dc76",
      "tree": "f0a66a70109add5400718dff77dcf429b327555f",
      "parents": [
        "a5c66cae2fb4e76a08793dca759ab9b30d82eea3"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Wed Jul 29 22:03:28 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 20:03:28 2026 +0000"
      },
      "message": "Enable discussion notifications (#473)\n\nTo enable GitHub Discussions, we also need to provide an address for the\nnotifications."
    },
    {
      "commit": "a5c66cae2fb4e76a08793dca759ab9b30d82eea3",
      "tree": "0a82b2fc140536e6fbbf01643538817f4f1b1b1b",
      "parents": [
        "1118ead7408722fde39a6ff7e641160ef85f0640"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Wed Jul 29 09:03:17 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 07:03:17 2026 +0000"
      },
      "message": "Open GitHub Discussions (#472)\n\nOpen GitHub Discussions in this repo."
    },
    {
      "commit": "1118ead7408722fde39a6ff7e641160ef85f0640",
      "tree": "ccc6f5e51b007a9b5c3d6a8b2f14fdf2c2a95151",
      "parents": [
        "b4fcd518cc8ba53527433bdf885f3bbe054fa3e6"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Wed Jul 29 07:55:12 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 05:55:12 2026 +0000"
      },
      "message": "Temporarily remove required check (#471)\n\nRemoves the `build (ubuntu-latest)` required check temporarily.\n\n#470 replaces the single build with a matrix, therefore we need to:\n\n1. Remove `build (ubuntu-latest)` from the required checks,\n2. Merge #470,\n3. Add `build / build (ubuntu-latest)` to the required checks."
    },
    {
      "commit": "b4fcd518cc8ba53527433bdf885f3bbe054fa3e6",
      "tree": "55e58fe8f446cfca9a33c96d4a979500a4a9b68f",
      "parents": [
        "10d64e8de6f7d83efb593e899aaf8bae0437f447"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Tue Jul 28 20:17:18 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 28 20:17:18 2026 +0200"
      },
      "message": "Make TestRateLimiter locale-independent (#469)\n\nThe vendored Guava test formatted expected events with the default\nlocale, so it failed on JVMs using a comma decimal separator.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "10d64e8de6f7d83efb593e899aaf8bae0437f447",
      "tree": "7c5e24704d55e9b5411a6d0287616f9681b30257",
      "parents": [
        "9acf15436181a523f7ac9bba016c04383708609f"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Tue Jul 28 20:16:47 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 28 20:16:47 2026 +0200"
      },
      "message": "Adapt the build to `logging-parent` conventions (#467)\n\n* Adapt build to `logging-parent` conventions\n\nMost build configuration is now inherited from `logging-parent` and the\n`apache` parent POM. ZooKeeper is bumped to satisfy `requireUpperBoundDeps`.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Expand star imports\n\nThe formatting rules inherited from `logging-parent` forbid wildcard imports.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Fix or suppress Error Prone warnings\n\nThe `GuardedBy` suppressions are intentional: the channel queue locks must\nnot be held on blocking operations and the unguarded reads are benign.\nThe `jvm.config` flags let Error Prone access javac internals on JDK 16+.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Disable BND baseline for never-released artifacts\n\nThese artifacts have no published version to compare against.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Configure RAT exclusions via `.rat-excludes`\n\nThe file is shared with the ASF Trusted Releases platform checks, which\nmatch patterns against the archive root: hence the `**/` prefix. Files\nthat support comments get an SPDX header instead of an exclusion.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* fix: add comment to disabled test\n\nCo-authored-by: Copilot Autofix powered by AI \u003c175728472+Copilot@users.noreply.github.com\u003e\n\n---------\n\nCo-authored-by: Copilot Autofix powered by AI \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "9acf15436181a523f7ac9bba016c04383708609f",
      "tree": "d3ff6836963cc161dcaffaacff59aada8daa486d",
      "parents": [
        "e850a828040060d897bea6b0cb460237f3bd69ec"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Fri Jul 24 16:19:59 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 24 14:19:59 2026 +0000"
      },
      "message": "Inherit developer list from logging-parent (#468)\n\nSince the dissolution of the Flume PMC, the project is maintained by the\nLogging Services PMC, so the `\u003cdevelopers\u003e` element of `logging-parent`\napplies to Flume as well.\n\nContributors that are not recorded in the Git history (the dissolved\nFlume PMC and patch authors of the SVN and pre-Apache era) are now\ncredited on the \"Team\" page of the website, so their names are not\nlost.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "e850a828040060d897bea6b0cb460237f3bd69ec",
      "tree": "b42866ffade2f145b8d54f89eb1758424959801f",
      "parents": [
        "0005055b3db1ad5f4b7fce4cbafd128c66b00d26"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Wed Jul 22 20:28:47 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 18:28:47 2026 +0000"
      },
      "message": "Remove “Documentation” page (#466)\n\nThe only purpose of the “Documentation” page is to link to the Flume User Guide and Developer Guide. Those links are already in the navigation bar, so the page is redundant."
    },
    {
      "commit": "0005055b3db1ad5f4b7fce4cbafd128c66b00d26",
      "tree": "51da47a56b05e8b55e07c4af016db133b2467639",
      "parents": [
        "14da30469b4d3b142d31c7274083e38b52e7bdca"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Wed Jul 22 20:21:54 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 18:21:54 2026 +0000"
      },
      "message": "Add `deploy-site.yaml` workflow (#465)\n\n* Migrate `flume-project` hierarchy to `logging-parent`\n\nFlume requires two POM hierarchies:\n\n- `flume-dependencies` and `flume-third-party-dependencies` are published flattened, so their common metadata can live in the aggregator `flume-project`, which is **not** published.\n- `flume-parent` is reused by satellite repositories, so it **needs** to be published. To avoid an excessive inheritance chain, it extends `logging-parent` directly instead of `flume-project`.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Add `deploy-site.yaml` workflow\n\nPublishes the Antora site to `logging.apache.org/flume/2.x` via the `logging-parent` reusable workflow. The old 1.x site stays in `logging-flume-site` (`content/flume`).\n\nSince the reusable workflow builds the site with `./mvnw site`, the Antora setup is aligned with the `logging-parent` machinery: `antora.yml` is generated from `antora.tmpl.yml` (kept in sync for local builds, as in Log4j) and the useless per-module Maven Site Plugin runs are skipped in both POM hierarchies.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "14da30469b4d3b142d31c7274083e38b52e7bdca",
      "tree": "e9ead8c59c931cad54ab26156043049433872e28",
      "parents": [
        "b7a0fb5e83fda26893644c037ce414042e93930f"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Wed Jul 22 20:04:42 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 20:04:42 2026 +0200"
      },
      "message": "Migrate `flume-project` hierarchy to `logging-parent` (#464)\n\nFlume requires two POM hierarchies:\n\n- `flume-dependencies` and `flume-third-party-dependencies` are published flattened, so their common metadata can live in the aggregator `flume-project`, which is **not** published.\n- `flume-parent` is reused by satellite repositories, so it **needs** to be published. To avoid an excessive inheritance chain, it extends `logging-parent` directly instead of `flume-project`.\n\nAssisted-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "b7a0fb5e83fda26893644c037ce414042e93930f",
      "tree": "072e399e8ddc92d4b4cf607c9509e933366fbcba",
      "parents": [
        "c291ae86ac19e1a4b54eb3e69b38ea2359666430"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Wed Jul 08 20:18:02 2026 +0200"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Ignore NPM modules and add `package-lock.json`\n"
    },
    {
      "commit": "c291ae86ac19e1a4b54eb3e69b38ea2359666430",
      "tree": "3d3ce4f9f7f24466a4aa637e90c7ac6302e25006",
      "parents": [
        "b47b110473c115bd718ac0d936ba691679b01c2b"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Wed Jul 08 20:17:42 2026 +0200"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "fix: formatting\n"
    },
    {
      "commit": "b47b110473c115bd718ac0d936ba691679b01c2b",
      "tree": "df3fc8a5b9e12fc3ccb8d2e3ef5aa0190a4f4e37",
      "parents": [
        "738d236e21ef4aa797e6afe17b332b82d47b12c7"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Thu Jun 18 18:51:32 2026 +0200"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Convert website from reStructuredText to Antora/AsciiDoc (#6)\n\n* Convert website from reStructuredText to Antora/AsciiDoc\n\nMigrate the Flume website source from Sphinx/reStructuredText to an\nAntora/AsciiDoc layout under src/site/antora, and add antora-playbook.yaml\nand package.json at the repository root so the site can be generated with\nnpm/Antora directly.\n\nThe page conversion is deterministic and reproducible:\n\n- tools/rst2adoc.sh runs pandoc over every source/sphinx/**/*.rst, mirrors\n  the directory layout into the Antora page tree, prepends the ASF license\n  header (pandoc drops the RST comment header) and copies the images.\n- tools/fix_xrefs.py rewrites relative .html links to xref:*.adoc, but only\n  when the target page exists, and strips the redundant images/ prefix from\n  image macros.\n\nThe original *.rst sources and the now-orphaned Sphinx scaffolding (conf.py,\ncontents.rsx, _templates, _themes) are removed.\n\nKnown manual follow-ups, not covered by the deterministic conversion:\n\n- pandoc drops `raw:: html` blocks (notably the News date headers on index)\n- nav.adoc is hand-authored\n- per-version doc archives (content/\u003cver\u003e/...) and Javadoc remain plain links\n- pom.xml still references the sphinx-maven-plugin\n\nAssisted-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n\n* Output the generated site to target/site\n\nMatch the output directory used by the Log4j website build, which generates\ninto target/site. Drop the now-unused /build/ ignore entry, since /target/\nalready covers the Antora output.\n\nAssisted-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n\n* Restore the News date headers on the index page\n\npandoc dropped the `.. raw:: html` \u003ch3\u003e blocks during conversion, so the dated\nNews entries on the home page lost their headers. Restore them as a `\u003d\u003d News`\nsection with one `\u003d\u003d\u003d \u003cdate\u003e` subsection per entry, matching the original page.\n\nAlso remove the leftover `.. toctree::` entries that pandoc rendered as bare\ntext at the bottom of the page; that navigation is provided by nav.adoc.\n\nAssisted-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n\n* Fix `.asf.yaml`"
    },
    {
      "commit": "738d236e21ef4aa797e6afe17b332b82d47b12c7",
      "tree": "c7002d7d2239fe687797f2973c7452f82a8decf9",
      "parents": [
        "0d81dc8dba6df7a110d4c695a27978f27927e8c0"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Sun Apr 02 12:32:50 2023 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Fix wording\n"
    },
    {
      "commit": "0d81dc8dba6df7a110d4c695a27978f27927e8c0",
      "tree": "e614dd5fe9465894f124cd33c48134c873c9e482",
      "parents": [
        "8229410cbe93b67f848d3ee9f9224ed44e031a90"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Sun Apr 02 10:01:55 2023 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Update download links\n"
    },
    {
      "commit": "8229410cbe93b67f848d3ee9f9224ed44e031a90",
      "tree": "82ccfbe46d12e1701d9b8de9615b824fe95e8c54",
      "parents": [
        "112323c1ca402a50fd2b02e168aed628928327de"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Thu Mar 30 10:26:54 2023 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Move Ashish back to active\n"
    },
    {
      "commit": "112323c1ca402a50fd2b02e168aed628928327de",
      "tree": "81c848a13101b6e671872a1a7e325101a07c0f94",
      "parents": [
        "7b06fb8d9dfdb31c097b5c5b44a0174d0d517f41"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Tue Mar 28 09:34:42 2023 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Update team page\n"
    },
    {
      "commit": "7b06fb8d9dfdb31c097b5c5b44a0174d0d517f41",
      "tree": "eed74558a8c718c510807e4be77a27fdf979552e",
      "parents": [
        "d8d68cd111778dcb60de5adf0cbc84e235e82062"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Mon Mar 20 12:29:37 2023 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Add Subprojects home\n"
    },
    {
      "commit": "d8d68cd111778dcb60de5adf0cbc84e235e82062",
      "tree": "307ceaed10261fb7f9bc0e8e2b5091fee38bccff",
      "parents": [
        "d48f51ecb1cb504251946ba3cac1ba8a07cbb148"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Fri Mar 17 11:28:26 2023 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Update developers guide on updating protocol buffers\n"
    },
    {
      "commit": "d48f51ecb1cb504251946ba3cac1ba8a07cbb148",
      "tree": "ae3ffa8b3c4c071fa63b2ccd917dc98e32ec81ad",
      "parents": [
        "1f4877221b6c450d646855098214d7dd73c03968"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Thu Mar 16 17:06:13 2023 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Update Spring Boot documentations\n"
    },
    {
      "commit": "1f4877221b6c450d646855098214d7dd73c03968",
      "tree": "62ed9242e9087722b78dd550dfd08c8ea907c902",
      "parents": [
        "2cdadb5ea22773003d28edff7467b5b75f909a8d"
      ],
      "author": {
        "name": "Arnout Engelen",
        "email": "arnout@bzzt.net",
        "time": "Tue Nov 29 16:46:51 2022 +0100"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Fix some outdated links, update some to https\n"
    },
    {
      "commit": "2cdadb5ea22773003d28edff7467b5b75f909a8d",
      "tree": "af1e612359ec5a8700891c16c7c713db98bb340d",
      "parents": [
        "eac18b8b34071bd9f095bc7e8354ed6d2d94daa6"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Tue Oct 25 12:51:58 2022 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Remove reverted dependency\n"
    },
    {
      "commit": "eac18b8b34071bd9f095bc7e8354ed6d2d94daa6",
      "tree": "aaeb6175c0da317e053fd4ed84a6659b7d7af45b",
      "parents": [
        "5f2730b05bede472797e02af584599716f99da26"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Tue Oct 25 00:47:15 2022 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Change name of the reporter\n"
    },
    {
      "commit": "5f2730b05bede472797e02af584599716f99da26",
      "tree": "e60a0baf984bafe44fd5fc692c57242b2cd19407",
      "parents": [
        "7ea98caca210225eb92757197b6fdae50b9c5365"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Mon Oct 24 23:03:51 2022 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Change reference to MD5 to SHA512\n"
    },
    {
      "commit": "7ea98caca210225eb92757197b6fdae50b9c5365",
      "tree": "e03adf944c1d6581f4b3da090e207cb5bce65290",
      "parents": [
        "b2274d16f42eeaa8c7c616963059abfa09012bcd"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Mon Oct 24 22:58:32 2022 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Add info about CVE-2022-42468\n"
    },
    {
      "commit": "b2274d16f42eeaa8c7c616963059abfa09012bcd",
      "tree": "18cecebe4439ccf310c4c6ea9f292f53bab77d5d",
      "parents": [
        "32baa374398472835b0e45838a4fd8e454e8fa9b"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Mon Oct 10 12:26:40 2022 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Fix bullet list\n"
    },
    {
      "commit": "32baa374398472835b0e45838a4fd8e454e8fa9b",
      "tree": "c0eaa82c72d9b5a8b747ae6c2e6ee5c049a3acae",
      "parents": [
        "2b9e35510a46e517336d34d6257d4bb285957fb1"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Mon Oct 10 11:56:35 2022 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Add release info to news\n"
    },
    {
      "commit": "2b9e35510a46e517336d34d6257d4bb285957fb1",
      "tree": "e30e861d6ae7e9171c421c89521c15f169d1dfe0",
      "parents": [
        "07bdbae3477d33fe5ad498e7d17e1c2815cad728"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Mon Oct 10 11:22:29 2022 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Flume 1.11.0 RC1\n"
    },
    {
      "commit": "07bdbae3477d33fe5ad498e7d17e1c2815cad728",
      "tree": "f76337872c1eff3a5bbddf7913edcca0bce8da6b",
      "parents": [
        "b90bebb4215ba8914880b1e13f1e067a668ffb84"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Sat Oct 08 12:43:13 2022 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Add info about Kafka headers and timestamp\n"
    },
    {
      "commit": "b90bebb4215ba8914880b1e13f1e067a668ffb84",
      "tree": "d4822a8890af166c27d56bc42cd025c1da6cfd48",
      "parents": [
        "5b6df359ece322446130aa83c3c224e7b401df37"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Tue Oct 04 09:18:30 2022 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Add info on Spring Boot support\n"
    },
    {
      "commit": "5b6df359ece322446130aa83c3c224e7b401df37",
      "tree": "682f72bb2aa18fb35a825ee32972045a9aab4515",
      "parents": [
        "2b875c92f93497d6b886867d7a31f6ae96892c23"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Mon Oct 03 16:58:19 2022 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Add Spring Boot support\n"
    },
    {
      "commit": "2b875c92f93497d6b886867d7a31f6ae96892c23",
      "tree": "34a47216822a07fa8e085513d755348e9be904ca",
      "parents": [
        "b2fad92f452db47f264299e7e48739d741e124f0"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Sat Aug 20 14:27:59 2022 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Release 1.10.1\n"
    },
    {
      "commit": "b2fad92f452db47f264299e7e48739d741e124f0",
      "tree": "a526056e9944e62b229e2c831bba182d40444c2d",
      "parents": [
        "534aa05591c176d46eb514db09026790692e7ae1"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Sat Aug 13 14:34:41 2022 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Update release date\n"
    },
    {
      "commit": "534aa05591c176d46eb514db09026790692e7ae1",
      "tree": "08aabc3cd68ae8ef0d315b45be3cfdebfa9a04d3",
      "parents": [
        "1b6b7fb85f57883561435e44029335d839715d7d"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Sat Aug 13 14:30:11 2022 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Flume 1.10.1-rc2\n"
    },
    {
      "commit": "1b6b7fb85f57883561435e44029335d839715d7d",
      "tree": "1e66152a777bd4fcc6174468fd21898961fd7dce",
      "parents": [
        "d4179ff0414046d69ddd2977be14bae9d3b9329c"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Sun Jul 31 16:06:17 2022 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Fix version error\n"
    },
    {
      "commit": "d4179ff0414046d69ddd2977be14bae9d3b9329c",
      "tree": "1e2526ff8d5c4a1162fc0ef995e6181f140a3379",
      "parents": [
        "16b22263fb4481417891adb8653bf56ca35c967b"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Sun Jul 31 16:02:01 2022 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Flume-1.10.1-rc1\n"
    },
    {
      "commit": "16b22263fb4481417891adb8653bf56ca35c967b",
      "tree": "79d335a76fc73e71e494974bce68b9b773262641",
      "parents": [
        "f1ddebc108a69eda93901d81a4dcbe62ec8ca0fd"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Mon Jun 13 13:05:04 2022 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Update site for 1.10.0\n"
    },
    {
      "commit": "f1ddebc108a69eda93901d81a4dcbe62ec8ca0fd",
      "tree": "11effb594dac65c76cefed3ce014a0d3cc9ec5ef",
      "parents": [
        "7efc8f55e00351b7301736e138abe5c67555ac91"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Tue Jun 07 14:51:51 2022 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Remove org from inactive members\n"
    },
    {
      "commit": "7efc8f55e00351b7301736e138abe5c67555ac91",
      "tree": "66267749f47a9839d8eacf46701a57b817616b18",
      "parents": [
        "dcb5828f14deb78727088ba4ff37009205541fef"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Sat Jun 04 22:19:17 2022 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Fix document links\n"
    },
    {
      "commit": "dcb5828f14deb78727088ba4ff37009205541fef",
      "tree": "6afa730f0e432bd305b10ee022fa38f28bee9ddc",
      "parents": [
        "df4c1bedddbeba2132e20c797117c669afa2c318"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Fri Jun 03 14:06:15 2022 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Add privacy link\n"
    },
    {
      "commit": "df4c1bedddbeba2132e20c797117c669afa2c318",
      "tree": "4dbd5ba9dfbe9e32a7861b91cef7bd134b428829",
      "parents": [
        "e9c44e67241618eae3d75b58e5b788f86139a7fa"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Thu Jun 02 15:00:37 2022 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Update site for 1.10.0\n"
    },
    {
      "commit": "e9c44e67241618eae3d75b58e5b788f86139a7fa",
      "tree": "81d7f2f9293607532c47cd9ce05ecba9cf1276da",
      "parents": [
        "e813ec9f8af99f7da4a61efea482b54d3b4ecd6c"
      ],
      "author": {
        "name": "Martin Tzvetanov Grigorov",
        "email": "mgrigorov@apache.org",
        "time": "Wed Apr 14 14:29:02 2021 +0300"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Add a page about testing with TravisCI\n"
    },
    {
      "commit": "e813ec9f8af99f7da4a61efea482b54d3b4ecd6c",
      "tree": "bc354f1da3eebec4220692255639532070d7e685",
      "parents": [
        "5e7c508c10df27b84096d7f5c3f479da6168eb8d"
      ],
      "author": {
        "name": "Martin Tzvetanov Grigorov",
        "email": "mgrigorov@apache.org",
        "time": "Wed Apr 14 14:28:21 2021 +0300"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Remove links to Jenkins and Sonar\n\nFlume uses TravisCI.\nApache Infra does not support Sonar anymore.\n"
    },
    {
      "commit": "5e7c508c10df27b84096d7f5c3f479da6168eb8d",
      "tree": "57ece104f79a04417b9e7abf1c0849a83d04b843",
      "parents": [
        "6dc752778fdfac5e6808e2b7733c5acbbd15dd4e"
      ],
      "author": {
        "name": "Martin Tzvetanov Grigorov",
        "email": "mgrigorov@apache.org",
        "time": "Wed Apr 14 14:26:47 2021 +0300"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Update the Gitbox/Github related mirror setup\n\nUpdate the latest version from 1.4 to 1.9\n"
    },
    {
      "commit": "6dc752778fdfac5e6808e2b7733c5acbbd15dd4e",
      "tree": "08da502c6e9da9965363166956409b064d0666a2",
      "parents": [
        "3318c38bedb6243ce2d042e003a88b2e131a8b7a"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Sun Sep 20 12:21:21 2020 -0700"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Fri Jul 10 16:09:45 2026 +0200"
      },
      "message": "Create Flume web site\n"
    },
    {
      "commit": "3318c38bedb6243ce2d042e003a88b2e131a8b7a",
      "tree": "46d37e6fefa82ee7900c19f7771e6848d470adfd",
      "parents": [
        "bf19bb6fe975e7e36f5637292224faba3153e689"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Fri Jul 10 15:54:28 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 10 13:54:28 2026 +0000"
      },
      "message": "Allow “Rebase and Merge” (#463)\n\nSometimes it is useful to preserve the individual commits of a PR."
    },
    {
      "commit": "bf19bb6fe975e7e36f5637292224faba3153e689",
      "tree": "52b597b51cea9a30423d31e5d66d3bbfa4e4c0de",
      "parents": [
        "432a259718618fed13c673ee4d9b9840de255071"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Fri Jun 26 13:57:59 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 13:57:59 2026 -0700"
      },
      "message": "Spring boot4 (#460)\n\n* Add RoutableProxyChannelSelector and allow Interceptors to be configured in Spring Boot\n\n* Enhancements for Spring Boot\n\n* Add relative path\n\n* Drop LGPL spotbugs-annotations in favor of internal annotation\n\nSpotBugs honors any annotation whose simple name is SuppressFBWarnings,\nso a tiny internal annotation lets us avoid shipping a build dependency\non the LGPL-licensed spotbugs-annotations artifact.\n\nAssisted-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n\n* Apply suggestions from code review\n\nCo-authored-by: Copilot Autofix powered by AI \u003c175728472+Copilot@users.noreply.github.com\u003e\n\n* Fix formatting\n\n* Fix potential NPE\n\n---------\n\nCo-authored-by: Piotr P. Karwasz \u003cpkarwasz-github@apache.org\u003e\nCo-authored-by: Copilot Autofix powered by AI \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "432a259718618fed13c673ee4d9b9840de255071",
      "tree": "2a7ae0bb0f9d84ca917f56be7da28af667604f30",
      "parents": [
        "51063b4b31e330f983b68d6373941c7962d5f97d"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Thu Jun 18 00:17:57 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 18 00:17:57 2026 +0200"
      },
      "message": "Migrate logging API from SLF4J to Log4j 2.x (#459)\n\n* Migrate logging API from SLF4J to Log4j 2.x\n\nStandardize all modules on the Log4j 2.x API so Flume\u0027s own logging no\nlonger goes through the SLF4J facade. Applied the OpenRewrite\nSlf4jToLog4j recipe, then normalized the result: drop loggers that were\nnever used, make every logger field private static final named \"logger\",\nand use the no-arg LogManager.getLogger() since each one named its own\nclass.\n\nAssisted-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n\n* Formatting\n\n* Ban transitive logging implementations and bridges\n\nDependencies frequently ship a logging backend or an API bridge as a\ncompile dependency, which then leaks to our consumers. Add a\nmaven-enforcer rule that bans every known logging implementation/bridge\nand whitelists only the real logging APIs.\n\nTo satisfy the rule, drop the now-unneeded log4j-1.2-api (no Flume code\npath reaches the Hadoop classes that use the org.apache.log4j API) and\nexclude the logging backends that Hadoop (reload4j) and ZooKeeper\n(logback) pull in. Exclusions live in dependencyManagement so they apply\nwherever the dependency is used, and only where the artifact is actually\npulled; the enforcer rule catches anything reintroduced later.\n\nAssisted-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n\n* Pin SLF4J to 2.x and use the SLF4J 2 binding\n\nThe ban-logging rule whitelisted the whole log4j2 group, which let the\nSLF4J 1.x binding (log4j-slf4j-impl) through. Switch the test bindings to\nlog4j-slf4j2-impl and import slf4j-bom so conflict resolution cannot\ndowngrade transitive SLF4J to 1.x.\n\nDrop the log4j-jul and log4j-jcl bridges the tightened rule then flagged,\nand manage commons-logging to a current release so transitive deps stop\npulling the ancient 1.2.\n\nAssisted-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "51063b4b31e330f983b68d6373941c7962d5f97d",
      "tree": "6038ee597f347feee8cd40046662212d49903a32",
      "parents": [
        "869dc4fb62e712fb31ba2806247405305c0eb1a5"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Sun Jun 14 13:39:53 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 14 13:39:53 2026 -0700"
      },
      "message": "Ignroe code scanning warnings (#456)"
    },
    {
      "commit": "869dc4fb62e712fb31ba2806247405305c0eb1a5",
      "tree": "6038ee597f347feee8cd40046662212d49903a32",
      "parents": [
        "6ea5a3ce720f36f5891c3625134cdfb632358af6"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Sun Jun 14 13:39:30 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 14 13:39:30 2026 -0700"
      },
      "message": "Flatten (#457)\n\n* Ignroe code scanning warnings\n\n* Resolve the variables so the parent and bom poms can be used by other builds"
    },
    {
      "commit": "6ea5a3ce720f36f5891c3625134cdfb632358af6",
      "tree": "9db7ab842b90cbddbc30058b52d24497cbb27867",
      "parents": [
        "b217399cef56ad7b1b9134fcd4bff940cd8f4046"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Sat Jun 13 19:44:02 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 13 19:44:02 2026 -0700"
      },
      "message": "Upgrade to commons-lang3 (#455)"
    },
    {
      "commit": "b217399cef56ad7b1b9134fcd4bff940cd8f4046",
      "tree": "1737b4ef14430eaf97056ea8f24b58a0117cdb01",
      "parents": [
        "ca2f6a26b8cc6677d9a1fff51ae6749a5e34e6c9"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Sat Jun 13 13:58:01 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 13 13:58:01 2026 -0700"
      },
      "message": "Upgrade Jackson (#454)"
    },
    {
      "commit": "ca2f6a26b8cc6677d9a1fff51ae6749a5e34e6c9",
      "tree": "6d1e9afc648ddf99950eb4e8c2c0e7f05459b477",
      "parents": [
        "4395792165bd887f431beed60cee52cc0ab35dbf"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Sat Jun 13 12:23:56 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 13 12:23:56 2026 -0700"
      },
      "message": "More version updates (#453)\n\n* Update mina and netty\n\n* Upgrade snappy-java and netty"
    },
    {
      "commit": "4395792165bd887f431beed60cee52cc0ab35dbf",
      "tree": "21b6dc61fc93bf555c71eb838868a4c09fc36bdd",
      "parents": [
        "1ff090a313f61454751e92e9df3fd67954f39a6b"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Jun 12 13:42:58 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 13:42:58 2026 +0000"
      },
      "message": "Bump org.apache.mina:mina-core from 2.1.5 to 2.1.12 in /flume-parent (#449)\n\nBumps [org.apache.mina:mina-core](https://github.com/apache/mina) from 2.1.5 to 2.1.12.\n- [Commits](https://github.com/apache/mina/compare/2.1.5...2.1.12)\n\n---\nupdated-dependencies:\n- dependency-name: org.apache.mina:mina-core\n  dependency-version: 2.1.12\n  dependency-type: direct:production\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": "1ff090a313f61454751e92e9df3fd67954f39a6b",
      "tree": "12b9dc76f7147203a0214c2c4b971c47e11592f5",
      "parents": [
        "2eddbf06448c82b0e779770b970cde70388d4774"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Fri Jun 12 15:08:22 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 06:08:22 2026 -0700"
      },
      "message": "Drop Mina and Netty from flume-ng-core (#448)\n\n* Drop Mina and Netty from flume-ng-core\n\nMove the sources that pull in Apache Mina and Netty out of\nflume-ng-core into two new modules under flume-ng-sources:\n\n  - flume-syslog-source (org.apache.flume.source.syslog):\n    SyslogTcpSource, SyslogUDPSource, MultiportSyslogTCPSource and\n    their shared parser/utils\n  - flume-netcat-source (org.apache.flume.source.netcat):\n    NetcatUdpSource\n\nThe classes are repackaged so each module owns a distinct package,\nkeeping the modules JPMS-friendly (no split packages). The short\nsource aliases in SourceType keep working; only the target FQCNs\nchange. flume-ng-core no longer depends on io.netty:netty-all or\norg.apache.mina:mina-core.\n\nThe TLS unit tests no longer rely on checked-in keystore/PEM blobs:\nthe X509Certificates helper moves to the flume-ng-sdk test-jar\nalongside a new TestKeyStores helper, and the stores are generated\nin memory with Bouncy Castle. The orphaned test resources are\ndeleted.\n\nAlso remove the dead Netty PatternRule class (no references).\n\nAssisted-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n\n* Open java.base packages for flume-ng-sdk SSLUtil tests\n\nAbstractSSLUtilTest injects environment variables by reflecting into\njava.lang.ProcessEnvironment, which fails with an\nInaccessibleObjectException on Java 16+ unless the relevant java.base\npackages are opened. Add the required --add-opens to the flume-ng-sdk\nsurefire argLine. This is a pre-existing failure, unrelated to the\nMina/Netty removal.\n\nAssisted-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n\n* Add source-factory tests for the syslog and netcat modules\n\nTestDefaultSourceFactory in flume-ng-core used to verify that the\nshort aliases (syslogtcp, multiport_syslogtcp, syslogudp, netcatudp)\nresolve to their source classes. Those classes moved out of core, so\nrestore the coverage in the modules that now own them, following the\nTestHTTPSourceFactory pattern.\n\nAssisted-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n\n* Adjust spotbugs violation ceilings after the source move\n\nThe syslog and netcat sources accounted for 11 spotbugs violations\n(8 + 3) in flume-ng-core. Move those allowances to the new modules\nand tighten flume-ng-core to its current counts, which also absorbs\nthe headroom left by earlier module extractions:\n\n  - flume-ng-core: spotbugs 199 -\u003e 152, pmd 121 -\u003e 64\n  - flume-syslog-source: spotbugs 8\n  - flume-netcat-source: spotbugs 3\n\nThe moved code has no pmd violations, so only spotbugs ceilings are\nadded to the new modules.\n\nAssisted-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n\n* Formatting"
    },
    {
      "commit": "2eddbf06448c82b0e779770b970cde70388d4774",
      "tree": "4048b26cb4a271d339ab236e2b994ad8d5db4b84",
      "parents": [
        "a887ed1a020bdb610105c1a972c82c023970b9fe"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Thu Jun 11 21:55:02 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 06:55:02 2026 +0200"
      },
      "message": "Upgrade dependencies (#447)"
    },
    {
      "commit": "a887ed1a020bdb610105c1a972c82c023970b9fe",
      "tree": "4b9936907a7447eb9990e1a80f5fc1a1f0739014",
      "parents": [
        "b9ac63142a1a75f233b98bde4a274a8e395fe6e4"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Thu Jun 11 18:46:55 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 16:46:55 2026 +0000"
      },
      "message": "Drop Jetty from flume-ng-core (#446)\n\n* Move HTTPSource to its own flume-http-source module\n\nKeeping HTTPSource in flume-ng-core forced the heavy Jetty/Gson HTTP\nstack onto every core consumer. Extract it into a dedicated optional\nsource module under flume-ng-sources, like taildir, so it ships only\nwhen needed.\n\nThe package (org.apache.flume.source.http) is unchanged, so the\nSourceType.HTTP reflective mapping and existing \"http\" configs keep\nworking. Core retains Jetty/Gson for its metrics server and\nHTTPServerConstraintUtil.\n\nAssisted-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n\n* Make flume-http-source self-contained for HTTP constraints\n\nHTTPSource was reaching into flume-ng-core for HTTPServerConstraintUtil.\nMove that helper into the module next to its only caller and make it\npackage-private, so the HTTP source no longer depends on a core internal\nfor its Jetty constraint handling. Declare jetty-security directly here\n(managed in flume-parent) since the helper uses it.\n\nAssisted-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n\n* Move monitoring services to flume-ng-instrumentation modules\n\nSplit the Ganglia, HTTP and Prometheus MonitorService implementations\nout of flume-ng-core into three modules under a new flume-ng-instrumentation\nparent, each in its own package so there are no split packages.\n\nReplace the hardcoded MonitoringType enum with ServiceLoader discovery:\nMonitorService gains a getType() default method, each provider declares\nitself via META-INF/services, and the node selects one by matching\nflume.monitoring.type against getType() (FQCN fallback preserved). The\nmodules are wired through the BOM and bundled by flume-ng-dist only.\n\nCore keeps the MonitorService interface and JMXPollUtil, and drops the now\nunused gson and prometheus dependencies.\n\nAssisted-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n\n* Declare gson dependency in flume-taildir-source\n\nThe taildir source uses gson for its position file but was getting it\ntransitively from flume-ng-core, which no longer provides it after the\nmonitoring split. Without an explicit dependency the position file\nhandling fails at runtime with NoClassDefFoundError.\n\nAssisted-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n\n* Drop Jetty from flume-ng-core\n\nWith the HTTP source and the HTTP/Prometheus monitors moved to their own\nmodules, nothing in flume-ng-core\u0027s main code uses Jetty anymore. Remove\nthe four jetty dependencies from the module.\n\nflume-ng-node\u0027s TestHttpConfigurationSource was relying on Jetty arriving\ntransitively through flume-ng-core, so declare jetty-server and\njetty-servlet as test dependencies there.\n\nAssisted-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "b9ac63142a1a75f233b98bde4a274a8e395fe6e4",
      "tree": "aa73343d6e7adb87e311a80e908d699bd12ace81",
      "parents": [
        "0a82f29a0c1d8628f9593de28d4e959aaa1f5119"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Thu Jun 11 15:47:02 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 06:47:02 2026 -0700"
      },
      "message": "Move monitoring services to flume-ng-instrumentation modules (#445)\n\n* Move HTTPSource to its own flume-http-source module\n\nKeeping HTTPSource in flume-ng-core forced the heavy Jetty/Gson HTTP\nstack onto every core consumer. Extract it into a dedicated optional\nsource module under flume-ng-sources, like taildir, so it ships only\nwhen needed.\n\nThe package (org.apache.flume.source.http) is unchanged, so the\nSourceType.HTTP reflective mapping and existing \"http\" configs keep\nworking. Core retains Jetty/Gson for its metrics server and\nHTTPServerConstraintUtil.\n\nAssisted-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n\n* Make flume-http-source self-contained for HTTP constraints\n\nHTTPSource was reaching into flume-ng-core for HTTPServerConstraintUtil.\nMove that helper into the module next to its only caller and make it\npackage-private, so the HTTP source no longer depends on a core internal\nfor its Jetty constraint handling. Declare jetty-security directly here\n(managed in flume-parent) since the helper uses it.\n\nAssisted-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n\n* Move monitoring services to flume-ng-instrumentation modules\n\nSplit the Ganglia, HTTP and Prometheus MonitorService implementations\nout of flume-ng-core into three modules under a new flume-ng-instrumentation\nparent, each in its own package so there are no split packages.\n\nReplace the hardcoded MonitoringType enum with ServiceLoader discovery:\nMonitorService gains a getType() default method, each provider declares\nitself via META-INF/services, and the node selects one by matching\nflume.monitoring.type against getType() (FQCN fallback preserved). The\nmodules are wired through the BOM and bundled by flume-ng-dist only.\n\nCore keeps the MonitorService interface and JMXPollUtil, and drops the now\nunused gson and prometheus dependencies.\n\nAssisted-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n\n* Declare gson dependency in flume-taildir-source\n\nThe taildir source uses gson for its position file but was getting it\ntransitively from flume-ng-core, which no longer provides it after the\nmonitoring split. Without an explicit dependency the position file\nhandling fails at runtime with NoClassDefFoundError.\n\nAssisted-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n\n* Upgrade Prometheus and Jetty\n\n* Fix Prometheus\n\n* Migrate flume-http-source to Jetty 12 and jakarta.servlet\n\nFinish the Prometheus and Jetty upgrade for the modules split out of\nflume-ng-core: port HTTPSource and its handlers and tests from\njavax.servlet / Jetty 9 to jakarta.servlet / Jetty 12 (ee11), and align\nthe flume-http-monitor, flume-prometheus-monitor and flume-http-source\npoms with the new artifacts.\n\nThe HTTPS tests now generate their TLS material with Bouncy Castle (the\nserver keystore in a temporary folder, the client truststore in memory)\ninstead of a checked-in keystore, keeping Jetty 12\u0027s SNI host checking\nenabled.\n\nAssisted-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n\n---------\n\nCo-authored-by: Ralph Goers \u003crgoers@apache.org\u003e"
    },
    {
      "commit": "0a82f29a0c1d8628f9593de28d4e959aaa1f5119",
      "tree": "fa409815ac362035db9578a3c835fe347eea17b0",
      "parents": [
        "17d95a15712649c457c5f5275fc78e59fb5617f5"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Thu Jun 11 11:30:07 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 11:30:07 2026 +0200"
      },
      "message": "Move HTTPSource to its own flume-http-source module (#444)\n\n* Move HTTPSource to its own flume-http-source module\n\nKeeping HTTPSource in flume-ng-core forced the heavy Jetty/Gson HTTP\nstack onto every core consumer. Extract it into a dedicated optional\nsource module under flume-ng-sources, like taildir, so it ships only\nwhen needed.\n\nThe package (org.apache.flume.source.http) is unchanged, so the\nSourceType.HTTP reflective mapping and existing \"http\" configs keep\nworking. Core retains Jetty/Gson for its metrics server and\nHTTPServerConstraintUtil.\n\nAssisted-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n\n* Make flume-http-source self-contained for HTTP constraints\n\nHTTPSource was reaching into flume-ng-core for HTTPServerConstraintUtil.\nMove that helper into the module next to its only caller and make it\npackage-private, so the HTTP source no longer depends on a core internal\nfor its Jetty constraint handling. Declare jetty-security directly here\n(managed in flume-parent) since the helper uses it.\n\nAssisted-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "17d95a15712649c457c5f5275fc78e59fb5617f5",
      "tree": "7fa3cf1703daa532ebed67cba54ed93440bcf27d",
      "parents": [
        "337ed06596fc7f4e01115d92f2c119f613689cfd"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Sat Jun 06 06:19:53 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 06 06:19:53 2026 -0700"
      },
      "message": "Remove unused dependencies (#443)\n\n* Remove unused dependencies\n\n* Remove more unused dependencies"
    },
    {
      "commit": "337ed06596fc7f4e01115d92f2c119f613689cfd",
      "tree": "f51bcdc1c822443f0a1e30dbfea31d638534a3a1",
      "parents": [
        "ce667d2e536d6710104f7f2037d52bd61458a621"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Fri Jun 05 23:24:49 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 05 21:24:49 2026 +0000"
      },
      "message": "Apply Spotless configuration (#439)\n\n* Copies spotless configuration from `logging-parent`\n\n* Apply Spotless formatting\n\n* Remove ASF header from Guava files\n\n* Potential fix for pull request finding \u0027CodeQL / Implicit narrowing conversion in compound assignment\u0027\n\nCo-authored-by: Copilot Autofix powered by AI \u003c62310815+github-advanced-security[bot]@users.noreply.github.com\u003e\n\n---------\n\nCo-authored-by: Spotless \u003crobots@logging.apache.org\u003e\nCo-authored-by: Copilot Autofix powered by AI \u003c62310815+github-advanced-security[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "ce667d2e536d6710104f7f2037d52bd61458a621",
      "tree": "6cada731ac7415b3b7c318d761f434309f897319",
      "parents": [
        "d4cd0f9e8c0929268136a47bb4497ca3514baaec"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Fri Jun 05 23:08:51 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 05 14:08:51 2026 -0700"
      },
      "message": "Don\u0027t leak exception details in `HTTPSource` responses (#442)\n\n`HTTPSource` appended `ex.getMessage()` to its HTTP error responses, which\ncan disclose internal implementation details to clients. The exceptions are\nalready logged server-side, so return a generic message per status code and\nkeep the detail in the logs only.\n\nAssisted-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "d4cd0f9e8c0929268136a47bb4497ca3514baaec",
      "tree": "5cee5bf7810ffd9d32c7ed3dc9c99465ec5421f4",
      "parents": [
        "d1ea681ea1c72df9b69c8b17634b367130f5aeb4"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Fri Jun 05 20:03:14 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 05 20:03:14 2026 +0200"
      },
      "message": "Fix RFC 5424 timestamp parsing edge cases (#441)\n\n`parseRfc5424Date` mishandled malformed and extreme inputs:\n\n- Fractional seconds were scaled with `Math.pow`, the lossy double/long\n  conversion CodeQL flagged, and `Long.parseLong` over the whole fraction\n  overflowed on long inputs. Read at most 3 digits and zero-pad with\n  `StringUtils.rightPad` instead; finer-than-millisecond digits are\n  truncated anyway.\n- A fraction with no trailing timezone scanned past the end of the string\n  and threw `StringIndexOutOfBoundsException`; the loop is now bounded and\n  reports an `IllegalArgumentException`.\n- A timezone not starting with `Z`, `+` or `-` was silently accepted; it\n  is now rejected.\n- The offset is computed with `long` arithmetic to avoid int overflow.\n\nAssisted-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "d1ea681ea1c72df9b69c8b17634b367130f5aeb4",
      "tree": "2203b85c74deabb96bdda9f9c79f0460cc8b29ae",
      "parents": [
        "a6fe173f959ffca4652e8d037f26e33cc06c6d5d"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Fri Jun 05 18:28:27 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 05 16:28:27 2026 +0000"
      },
      "message": "Apply concurrency setting on PR jobs (#440)\n\nApplies a concurrency settings on PR jobs, so pushing a new commit to a PR cancels the previous jobs."
    },
    {
      "commit": "a6fe173f959ffca4652e8d037f26e33cc06c6d5d",
      "tree": "1c22451f8645b807ad84e962f2afd03d8162e637",
      "parents": [
        "c9c55f30608b5204f2c285db80b4b144d2ed1090"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Sat May 30 13:25:18 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 30 13:25:18 2026 -0700"
      },
      "message": "Towards17 (#438)\n\n* Interim commit\n\n* Remove flattened POMs\n\n* Fix `TestRegexExtractorInterceptor*`\n\nWhile #431 migrated `RegexExtractorInterceptorMillisSerializer` correctly from Joda to Java time, it introduced a small bug in the tests, which assume that all dates are in `UTC`.\n\nThe original extractor interpreted them instead in the local timezone.\n\n* Fix `TestRegexExtractorInterceptor*`\n\nWhile #431 migrated `RegexExtractorInterceptorMillisSerializer` correctly from Joda to Java time, it introduced a small bug in the tests, which assume that all dates are in `UTC`.\n\nThe original extractor interpreted them instead in the local timezone.\n\n* Fix: allow arbitrary precision in RFC 5424 timestamps\n\nModifies the regex in SyslogUtils to allow up to 9 digits of precision in timestamps.\n\nThis level of precision does not exist on Java 8, but since Java 9 nanosecond precision is available at least on Linux.\n\n* Fix: replace Mockito mock with `DummySession`\n\nWith the old Mockito `TestMultiportSyslogTCPSource` worked, because Mockito was unable to mock final methods and the real methods were called.\n\nNow Mockito inline is able to mock final methods and operations essential for the test fail.\n\n* Fix: allow 199 Spotbugs violations in `flume-ng-core`\n\n* Fix: allow more Spotbugs failures\n\n* Fix: remove unused `EnvironmentVariables`\n\n* Fix order-dependent resolution of cross-referencing properties\n\nWhen properties are defined in terms of each other, e.g. `a \u003d ${b}` with `b \u003d OK`, `MapResolver#resolveProperties` filled the result map while using that same map as the lookup source, so a reference only resolved when the referenced property had already been evaluated. As the iteration order of `Properties#stringPropertyNames` is unspecified, properties like `a` were sometimes left unresolved.\n\nPre-seed the map with the raw values so that every key is visible to the lookup regardless of evaluation order.\n\n`TestMapResolver` covers both reference orderings, and documents that self-referencing and cyclic definitions are left to Commons Text\u0027s recursion guard, which either returns the literal or throws `IllegalStateException`.\n\n* fix: more Spotbugs errors for `flume-node`\n\n* Get File Channel, Avro and Thrift to build\n\n* Build completes\n\n* Flume RPC moved to its own repo\n\n* apply change to branch\n\n* Update workflow to Java 17\n\n* Move embedded agent to Flume RPC\n\n---------\n\nCo-authored-by: Piotr P. Karwasz \u003cpkarwasz-github@apache.org\u003e"
    },
    {
      "commit": "c9c55f30608b5204f2c285db80b4b144d2ed1090",
      "tree": "5fb9e57f08a756891089f2446c4f99ec7d31fb44",
      "parents": [
        "576cf26cc1808cebc8e4c2efa4f48311486b0cbb"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Fri May 29 22:54:16 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 29 13:54:16 2026 -0700"
      },
      "message": "Fix order-dependent resolution of cross-referencing properties (#437)\n\nWhen properties are defined in terms of each other, e.g. `a \u003d ${b}` with `b \u003d OK`, `MapResolver#resolveProperties` filled the result map while using that same map as the lookup source, so a reference only resolved when the referenced property had already been evaluated. As the iteration order of `Properties#stringPropertyNames` is unspecified, properties like `a` were sometimes left unresolved.\n\nPre-seed the map with the raw values so that every key is visible to the lookup regardless of evaluation order.\n\n`TestMapResolver` covers both reference orderings, and documents that self-referencing and cyclic definitions are left to Commons Text\u0027s recursion guard, which either returns the literal or throws `IllegalStateException`."
    },
    {
      "commit": "576cf26cc1808cebc8e4c2efa4f48311486b0cbb",
      "tree": "3f8f34f078c7b8e331a7228abe4799e75cfab6df",
      "parents": [
        "278e4f2d7aaa055a01288c99f23e4bc0ddc0d8f7"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Fri May 29 19:49:51 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 29 19:49:51 2026 +0200"
      },
      "message": "Remove Log4j 1 appender (#434)\n\nThe appender was moved to https://github.com/apache/logging-flume-legacy"
    },
    {
      "commit": "278e4f2d7aaa055a01288c99f23e4bc0ddc0d8f7",
      "tree": "13aed96628009a41afec1a938ca07bd26566901b",
      "parents": [
        "ec1c4e4fc09b72971983a34656e94a841f567eff"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Fri May 29 19:11:47 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 29 17:11:47 2026 +0000"
      },
      "message": "Fix `TestRegexExtractorInterceptor*` (#436)\n\nWhile #431 migrated `RegexExtractorInterceptorMillisSerializer` correctly from Joda to Java time, it introduced a small bug in the tests, which assume that all dates are in `UTC`.\n\nThe original extractor interpreted them instead in the local timezone."
    },
    {
      "commit": "ec1c4e4fc09b72971983a34656e94a841f567eff",
      "tree": "6417ec3a6ca6159778b2d548561f11e5fa4dc8b9",
      "parents": [
        "eeb94a422bb7a45473090574153286ee3ad482dd"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Wed May 27 23:55:31 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 28 08:55:31 2026 +0200"
      },
      "message": "Change warning due to current activity (#433)"
    },
    {
      "commit": "eeb94a422bb7a45473090574153286ee3ad482dd",
      "tree": "da55be0c73c031db7442ea2a382be0991f0d729e",
      "parents": [
        "1278b6ddd6ed1b4e513c0ea810be53584eec9b44"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Wed May 27 02:21:33 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 26 17:21:33 2026 -0700"
      },
      "message": "Remove `jms` and `scribe` sources (#432)\n\nRemoves sources that were moved to their own repositories:\n\n- https://github.com/apache/logging-flume-jms\n- https://github.com/apache/logging-flume-scribe"
    },
    {
      "commit": "1278b6ddd6ed1b4e513c0ea810be53584eec9b44",
      "tree": "f86b42e6097d6b2c141e954580e0b8fbad474928",
      "parents": [
        "409eebe4e2e3c241b38d423d8b907dbbdb9c9e83"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Wed May 27 02:21:01 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 26 17:21:01 2026 -0700"
      },
      "message": "Remove sinks (#430)\n\nRemoves sinks that were moved to their own repositories:\n\n- https://github.com/apache/logging-flume-http\n- https://github.com/apache/logging-flume-irc"
    },
    {
      "commit": "409eebe4e2e3c241b38d423d8b907dbbdb9c9e83",
      "tree": "986f350df07b16d7c5430e1754e126bf618af8bd",
      "parents": [
        "36f8ac1200cb19775486d9315a2e06f5cccd600f"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Wed May 27 02:19:48 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 26 17:19:48 2026 -0700"
      },
      "message": "Add branch protection rulesets (#428)\n\n* Add branch protection rulesets\n\nAdds branch protection rulesets, similar to other Logging repos:\n\n- One approval is required for the merge,\n- The `ubuntu-latest` build must succeed.\n\n* fix: change required reviews to 0"
    },
    {
      "commit": "36f8ac1200cb19775486d9315a2e06f5cccd600f",
      "tree": "6356a4b9bbc967232755ac41cd0b96c891db85e8",
      "parents": [
        "547226f837c141dff96e7411c8b2b3d563760f71"
      ],
      "author": {
        "name": "Ralph Goers",
        "email": "rgoers@apache.org",
        "time": "Tue May 26 11:22:02 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 26 20:22:02 2026 +0200"
      },
      "message": "Move Avro \u0026 Thrift. Switch to java.time from joda (#431)\n\nMove Avro \u0026 Thrift. Switch to java.time from joda\n\nCo-authored-by: Piotr P. Karwasz \u003cpkarwasz-github@apache.org\u003e\nCo-authored-by: Copilot Autofix powered by AI \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "547226f837c141dff96e7411c8b2b3d563760f71",
      "tree": "aaa280b95c3e6ae18570c174690bf16969bc5a95",
      "parents": [
        "416ddb2decf10857104e509f3f6d1ca37d7838b7"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Tue May 26 18:21:52 2026 +0200"
      },
      "committer": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Tue May 26 18:21:52 2026 +0200"
      },
      "message": "Disable Windows build\n\nFlume was never tested on Windows and many tests still fail. There is no regression in disabling the workflow run.\n"
    }
  ],
  "next": "416ddb2decf10857104e509f3f6d1ca37d7838b7"
}
