)]}'
{
  "log": [
    {
      "commit": "548255817b4979bbf33152397eb4c745ccce2b9a",
      "tree": "522fc39c3ad5d9c63783f67cac8c3b0421bfd5d0",
      "parents": [
        "170cafab638951b66ac74c0529acc089b95aab44"
      ],
      "author": {
        "name": "Ted Kaplan",
        "email": "tkaplan@roku.com",
        "time": "Tue Apr 21 11:24:08 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 21 16:24:08 2026 +0100"
      },
      "message": "Upload primary artifact before uploading hashes in MavenPublisher (#1548)"
    },
    {
      "commit": "170cafab638951b66ac74c0529acc089b95aab44",
      "tree": "1e1c8291fd6c74f8bcb29475ccf91322975e88bf",
      "parents": [
        "bc3fe5f772a3a57e478ad764f4ef1227989fc37f"
      ],
      "author": {
        "name": "Sitaktif",
        "email": "rchossart@apple.com",
        "time": "Mon Apr 20 17:10:01 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 20 17:10:01 2026 +0100"
      },
      "message": "Update deps before 7.0 release (#1561)"
    },
    {
      "commit": "bc3fe5f772a3a57e478ad764f4ef1227989fc37f",
      "tree": "7b510dc33ddec42f56cf654352ed44b9a258e43e",
      "parents": [
        "8d5cd8bcd65a1ba2b6a38c2d7256caea8b758ce6"
      ],
      "author": {
        "name": "Mikhail Filippov",
        "email": "mikhail@filippov.me",
        "time": "Thu Apr 16 13:38:36 2026 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 16 10:38:36 2026 +0100"
      },
      "message": "fix: sort repositories in v3 lock file hash to match Java resolver order (#1557)"
    },
    {
      "commit": "8d5cd8bcd65a1ba2b6a38c2d7256caea8b758ce6",
      "tree": "2bce045f90c0e80c334f4db8094e7931198f9476",
      "parents": [
        "ff03b5759d01c22e16585f2acd1f063d871b9dad"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Wed Apr 15 22:57:34 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 22:57:34 2026 +0100"
      },
      "message": "Fix problems with Windows CI builds (#1566)"
    },
    {
      "commit": "ff03b5759d01c22e16585f2acd1f063d871b9dad",
      "tree": "f5109cc04683abb9bfd77e69f19f069d2164d8aa",
      "parents": [
        "78ba950a1fcf2c01c5aa2fc3b121528330351d7c"
      ],
      "author": {
        "name": "Ted Kaplan",
        "email": "tkaplan@roku.com",
        "time": "Thu Feb 12 06:21:18 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 12 14:21:18 2026 +0000"
      },
      "message": "Disable hash uploads for snapshot revisions (#1544)\n\n"
    },
    {
      "commit": "78ba950a1fcf2c01c5aa2fc3b121528330351d7c",
      "tree": "e7604e5094eb683d12072c3ff6a5cadfb6a02549",
      "parents": [
        "4f497f0bc104c8afb5f7ce12854dae9670ed4d8b"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Wed Feb 11 21:16:26 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 11 21:16:26 2026 +0000"
      },
      "message": "Switch to `toml.bzl` for TOML parsing (#1540)\n\n"
    },
    {
      "commit": "4f497f0bc104c8afb5f7ce12854dae9670ed4d8b",
      "tree": "e74c3f4f7697588440d9cfb8c630753e7f6ac76a",
      "parents": [
        "68cee9cfb6c0121a2c3e82be3940be1e313fba14"
      ],
      "author": {
        "name": "Kartikaya Gupta (kats)",
        "email": "staktrace@users.noreply.github.com",
        "time": "Wed Feb 11 16:01:39 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 11 21:01:39 2026 +0000"
      },
      "message": "Also handle the force_version field in the version catalog (#1542)\n\n"
    },
    {
      "commit": "68cee9cfb6c0121a2c3e82be3940be1e313fba14",
      "tree": "65eb35721cd51a36c0e5c83f5fb5e2060aea52c6",
      "parents": [
        "917e31dd0d11a6e2cf1064664b4a2a4d023d3139"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Wed Feb 11 20:43:20 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 11 20:43:20 2026 +0000"
      },
      "message": "Remove workspace-based dependencies and ensure RJE works with Bazel 9 (#1536)\n\n"
    },
    {
      "commit": "917e31dd0d11a6e2cf1064664b4a2a4d023d3139",
      "tree": "c940bb657a360d3723b6714550864495fd5ac0f9",
      "parents": [
        "7e89d206c2b77caf36aea3c8b44271f9f1c0f75a"
      ],
      "author": {
        "name": "Kartikaya Gupta (kats)",
        "email": "staktrace@users.noreply.github.com",
        "time": "Wed Feb 11 11:52:56 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 11 16:52:56 2026 +0000"
      },
      "message": "Add a test for the extra toml field handling (#1541)\n\nGoes with https://github.com/bazel-contrib/rules_jvm_external/pull/1539"
    },
    {
      "commit": "7e89d206c2b77caf36aea3c8b44271f9f1c0f75a",
      "tree": "564872775b4a57e548dba9b2412a8db2aa2d38cc",
      "parents": [
        "dbff0c47e7e36180a0fda66613fbb5cbfbe1cde8"
      ],
      "author": {
        "name": "vadikmironov",
        "email": "77026200+vadikmironov@users.noreply.github.com",
        "time": "Tue Feb 10 16:28:34 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 10 16:28:34 2026 +0000"
      },
      "message": "fix: Handle email-style usernames in Coursier cache path credential stripping (#1538)\n\nWhen a repository uses an email address as the username (e.g.,\nuser@domain.com), Coursier encodes the cache path as\n\"user%40domain.com%40host\". The existing credential stripping logic\nuses find(\"%40\") which locates the first %40 (the email\u0027s @), leaving\n\"domain.com%40host\" in the path instead of just \"host\".\n\nThis change:\n- Replaces find(\"%40\") with rfind(\"%40\") to locate the last %40,\n  which is always the user@host separator\n- Extracts the stripping logic into a public\n  strip_credentials_from_cache_path() function for testability\n- Adds unit tests covering: no credentials, simple username, and\n  email-style username cases\n\nCo-authored-by: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "dbff0c47e7e36180a0fda66613fbb5cbfbe1cde8",
      "tree": "f423901110156da7c00827f9de4d61579a98dc52",
      "parents": [
        "f23697ea7098330461558bedd742b8131acc7f88"
      ],
      "author": {
        "name": "Kartikaya Gupta (kats)",
        "email": "staktrace@users.noreply.github.com",
        "time": "Tue Feb 10 05:49:37 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 10 10:49:37 2026 +0000"
      },
      "message": "Add support for classifier and exclusions fields in toml files (#1539)\n\nThese are not supported by gradle but it makes life a lot easier when trying to use a common format for bazel and renovate."
    },
    {
      "commit": "f23697ea7098330461558bedd742b8131acc7f88",
      "tree": "41ecd505429426cd0520ee8bd47986b2ff3302dd",
      "parents": [
        "9b72b6ed99843fd50b22f6f6aba685ea3748b088"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Wed Feb 04 21:03:39 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 04 21:03:39 2026 +0000"
      },
      "message": "Prepare for 6.10 release (#1521)\n\nIncludes rebuilding the prebuilt jars."
    },
    {
      "commit": "9b72b6ed99843fd50b22f6f6aba685ea3748b088",
      "tree": "0fd839a3f27573da1b40039ae78767a95547336c",
      "parents": [
        "65eb4ad85a97be37bb0decfb06ac3fef996d82bf"
      ],
      "author": {
        "name": "Ted Kaplan",
        "email": "tkaplan@roku.com",
        "time": "Tue Feb 03 04:22:59 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 03 12:22:59 2026 +0000"
      },
      "message": "Add presubmit check for prebuilt jars (#1486)\n\n"
    },
    {
      "commit": "65eb4ad85a97be37bb0decfb06ac3fef996d82bf",
      "tree": "248395a720194fa2f837454159e35112cf362ae1",
      "parents": [
        "66e07e4c08799f1a42d0c4b7602be0438e00d444"
      ],
      "author": {
        "name": "Igor Perikov",
        "email": "IgorPerikov@users.noreply.github.com",
        "time": "Tue Feb 03 13:22:17 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 03 12:22:17 2026 +0000"
      },
      "message": "Upload artifacts in parallel (address artifactorys \"Maven Snapshot Version Behaviour\") (#1524)\n\n"
    },
    {
      "commit": "66e07e4c08799f1a42d0c4b7602be0438e00d444",
      "tree": "00cc386ecf106eb63e46c51075bb80840c0483d4",
      "parents": [
        "e43fffe6c33057f41935cd75f7cb44c3b6b61b7f"
      ],
      "author": {
        "name": "Alberto Cavalcante",
        "email": "alberto@cavalcante.uk",
        "time": "Tue Feb 03 04:20:40 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 03 12:20:40 2026 +0000"
      },
      "message": "feat: Support COURSIER_SHA256 environment variable (#1527)\n\nAllows users to specify a different Coursier version by overriding\nthe SHA256 checksum, complementing the existing COURSIER_URL env var.\n\nCloses bazel-contrib/rules_jvm_external#1526"
    },
    {
      "commit": "e43fffe6c33057f41935cd75f7cb44c3b6b61b7f",
      "tree": "3e7c38d31d3f18bb9ea8c6e7e6154de2720bcda6",
      "parents": [
        "bf2ecf4d6824e0e7e4e2facd413aa1ca3387b5af"
      ],
      "author": {
        "name": "Honnix",
        "email": "honnix@users.noreply.github.com",
        "time": "Tue Feb 03 13:19:19 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 03 12:19:19 2026 +0000"
      },
      "message": "fix: Do not add coursier opts when run other tools (#1531)\n\n"
    },
    {
      "commit": "bf2ecf4d6824e0e7e4e2facd413aa1ca3387b5af",
      "tree": "7ebf5fab64d89e63441adae6598a4b489f1470b1",
      "parents": [
        "2c50ea48e365dd47a20454a9f260cb7736f9435d"
      ],
      "author": {
        "name": "JonathanPerry651",
        "email": "jonathan.perry@gs.com",
        "time": "Tue Feb 03 12:04:57 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 03 12:04:57 2026 +0000"
      },
      "message": "fix: add string attributes to `amend_artifact` for explicit unset state (#1499)\n\n---------\n\nCo-authored-by: Jonathan Perry \u003cjonpez63@gmail.com\u003e\n"
    },
    {
      "commit": "2c50ea48e365dd47a20454a9f260cb7736f9435d",
      "tree": "fe564d989c0a21cea622ce6bc425bf8a10da88a5",
      "parents": [
        "82e529ab064dc583a61892c8fc92b8ff0f70ded6"
      ],
      "author": {
        "name": "Steve Barrau",
        "email": "98589981+stevebarrau@users.noreply.github.com",
        "time": "Thu Jan 22 11:11:41 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 22 11:11:41 2026 +0000"
      },
      "message": "fix: use forward slash separator in Maven purl format (#1530)\n\nUpdate the Maven package URL (purl) format to use forward slash (/)\ninstead of colon (:) as the separator between group and artifact,\nfollowing the correct purl specification for Maven packages.\n\nThe format now correctly generates:\n  pkg:maven/group/artifact@version\ninstead of:\n  pkg:maven/group:artifact@version\n\nhttps://github.com/package-url/purl-spec/blob/main/types-doc/maven-definition.md"
    },
    {
      "commit": "82e529ab064dc583a61892c8fc92b8ff0f70ded6",
      "tree": "c744b751c0caa3b1423bc4e9313d717363c6ebc2",
      "parents": [
        "50b20118912cc255a27465c5e23f354c592fc0b4"
      ],
      "author": {
        "name": "cheister",
        "email": "cheister@squareup.com",
        "time": "Wed Jan 21 19:39:52 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 21 19:39:52 2026 -0800"
      },
      "message": "Load rules from specific bzl files and add sh_test imports (#1529)\n\n* bazel run //scripts:format\n\n* Load rules from specific bzl files and add sh_test imports\n\n* Prefer BUILD to BUILD.bazel when we can"
    },
    {
      "commit": "50b20118912cc255a27465c5e23f354c592fc0b4",
      "tree": "f609767eb66a70d46278f0988d4d6b4a12d8c416",
      "parents": [
        "250946830a766a85b035f60d1d5da369cc80d785"
      ],
      "author": {
        "name": "MarconZet",
        "email": "25779550+MarconZet@users.noreply.github.com",
        "time": "Wed Jan 21 22:26:29 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 21 21:26:29 2026 +0000"
      },
      "message": "Added non-conflicting hash for install files (#1454)\n\n"
    },
    {
      "commit": "250946830a766a85b035f60d1d5da369cc80d785",
      "tree": "541c4f4641fb0397b2fb398f0445a3f4d67550c9",
      "parents": [
        "95935ff5551dc280bbc6ce96f02e6cad6adf6e7d"
      ],
      "author": {
        "name": "Jeff Mace",
        "email": "jeffmace@gmail.com",
        "time": "Mon Jan 19 07:41:18 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 19 12:41:18 2026 +0000"
      },
      "message": "Update the maven and coursier resolver tests to create a class index file. (#1519)\n\nValidation of the index file for `coursier` is disabled until it works as expected.\n"
    },
    {
      "commit": "95935ff5551dc280bbc6ce96f02e6cad6adf6e7d",
      "tree": "75cc4ffde28c7b846e736dd474779e70c51180a8",
      "parents": [
        "9b17165e8f53563b6953a7cc81d53db6bc8a3b6b"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Mon Jan 19 12:05:42 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 19 12:05:42 2026 +0000"
      },
      "message": "[ci] Drop Bazel 6 and ensure we run on Bazel 7 and 8 (#1525)\n\n[ci] Drop Bazel 6 and ensure we run on Bazel 7 and 8\n\nMinimal rules_kotlin bump to get tests passing with Bazel 8.5.1 on Windows. Also requires additional flag."
    },
    {
      "commit": "9b17165e8f53563b6953a7cc81d53db6bc8a3b6b",
      "tree": "203d4cb19bb34b3964a1dcd458cdcd925fffe73a",
      "parents": [
        "52d03179c58915bfe9ed81856487c0cf010efb41"
      ],
      "author": {
        "name": "cheister",
        "email": "cheister@squareup.com",
        "time": "Fri Jan 16 11:16:40 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 16 11:16:40 2026 -0800"
      },
      "message": "Only allow modules specified in known_contributing_modules to contribute artifacts or boms to the root module (#1523)\n\n"
    },
    {
      "commit": "52d03179c58915bfe9ed81856487c0cf010efb41",
      "tree": "108719cdf79061b2d9cd44170e23393e95804bb8",
      "parents": [
        "777b42d5fdb230c6aff20b005ce8207aa31526c0"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Fri Jan 16 11:42:24 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 16 11:42:24 2026 +0000"
      },
      "message": "[gradle] Fix false resolution failures when BOM upgrades dependency version (#1520)\n\nWhen a BOM or version conflict resolution upgrades a dependency to a\ndifferent version than originally requested, Gradle\u0027s internal resolution\nmay report the originally-requested version as \"unresolved\" in the\ndetached configuration. The resolver was incorrectly treating this as a\nfailure even though the artifact was successfully resolved at a different\nversion.\n\nFor example, if a user requests lib:1.0.0 but a BOM specifies lib:2.0.0,\nthe resolution succeeds with lib:2.0.0. However, lib:1.0.0 could appear\nin the unresolved dependencies list, causing a spurious\nGradleDependencyResolutionException.\n\nThe fix checks whether the same group:artifact was resolved at any version\nbefore reporting a dependency as failed. This is done by capturing the set\nof resolved group:artifact pairs before processing unresolved dependencies.\n\nAlso extracts the filtering logic into a testable method."
    },
    {
      "commit": "777b42d5fdb230c6aff20b005ce8207aa31526c0",
      "tree": "c64a1ba3b2a4b419e3c4554bf28d4de9609210e6",
      "parents": [
        "45ae779dc5fcad0140fac01776179882b3cd6b75"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Thu Jan 15 00:41:38 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 15 00:41:38 2026 +0000"
      },
      "message": "[gradle] Fix Gradle resolver to respect force_version and include runtime dependencies (#1516)\n\nThe Gradle resolver was incorrectly retaining aggregating dependencies (dependencies that exist solely to group platform-specific artifacts) in the graph. This occurred because the resolver checked the POM\u0027s `packaging` field; if it was `jar` (the default) or missing, the resolver assumed a main JAR artifact must exist, even if Gradle did not resolve one.\n\nThis change updates `GradleResolver` to:\n1. Remove the logic that infers artifact existence from POM packaging. Instead, it now checks strictly for the presence of non-POM files in the resolved artifacts list.\n2. Refine `collapseAggregatingDependencies` to explicitly ignore `javadoc` and `sources` classifiers when determining if a node is an aggregating parent. This ensures standard libraries with documentation or sources attached are not incorrectly identified as aggregating dependencies.\n\n* Avoid creating detached configurations which lead to incorrect versions being fetched\n\n* Use runtime resolution, not just api\n\n* Correctly identify aggregating dependencies by ignoring POM packaging\n"
    },
    {
      "commit": "45ae779dc5fcad0140fac01776179882b3cd6b75",
      "tree": "957b05c064a53c0c0b5a087cc9cb7ce73b8bf896",
      "parents": [
        "fdc5297d030d68108f8e575b6216c3cca48de67c"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Thu Jan 15 00:09:40 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 14 16:09:40 2026 -0800"
      },
      "message": "Correctly merge BOMs from non-root modules (#1518)\n\n* Correctly merge BOMs from non-root modules\n\nWhen merging BOMs from non-root modules, the code was incorrectly using\n`bazel_dep_to_non_root_artifacts` (the regular dependencies map) instead\nof `non_root_bazel_dep_to_boms` (the BOMs map). This caused all non-root\nmodule artifacts to be treated as BOMs\n\n* Repin lock files. `bazel test //...` now passes\n\n* Update more lock files"
    },
    {
      "commit": "fdc5297d030d68108f8e575b6216c3cca48de67c",
      "tree": "cb14f4b1f7fa77a6bb5601f8689d104f31bc6421",
      "parents": [
        "86c87b9a1483523fb1c2dd5c89ea6fc4d3924df5"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Wed Jan 14 22:23:54 2026 +0000"
      },
      "committer": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Wed Jan 14 22:23:54 2026 +0000"
      },
      "message": "Update more lock files\n"
    },
    {
      "commit": "86c87b9a1483523fb1c2dd5c89ea6fc4d3924df5",
      "tree": "8e19d24beb6aac42161bd8143ce1173933c2f813",
      "parents": [
        "b7de21156e61a450cb10fa7e113023316e6cb2a2"
      ],
      "author": {
        "name": "cheister",
        "email": "cheister@squareup.com",
        "time": "Mon Jan 12 11:08:41 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 12 11:08:41 2026 -0800"
      },
      "message": "Filter test_only artifacts out of artifacts merged into root repos and print a warning when a root artifact version is overridden by a non_root bazel_dep (#1511)\n\n"
    },
    {
      "commit": "b7de21156e61a450cb10fa7e113023316e6cb2a2",
      "tree": "5357aae366dc9d2c486876659d791f4bc5ea81ca",
      "parents": [
        "aed3a989e6b0300345c07b9e18d3298a0a56b377"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Sun Jan 11 11:42:35 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jan 11 11:42:35 2026 +0000"
      },
      "message": "Fix SHA mismatch for conflicting dependency versions (#1513)\n\nWhen Gradle resolved version conflicts, the paths map included both the\nresolved version and the conflicting lower version. This caused the\nlockfile to record the SHA from the wrong version file, leading to\nchecksum validation failures.\n\nFor example, when resolving j2objc-annotations 2.8 → 3.0.0, the lockfile\nwould store version \"3.0.0\" but the SHA from the 2.8 JAR file.\n\nChanges:\n- Populate paths for all nodes in the final dependency graph, not just\n  root dependencies\n- Filter paths map to only include coordinates present in the final\n  resolved graph, automatically excluding conflicting versions,\n  relocated artifacts, and aggregating dependencies\n- Move test to GradleResolverTest since behavior differs between resolvers\n\nAmp-Thread-ID: https://ampcode.com/threads/T-019ba31f-0683-719f-9ce1-41dbd15e69f5\n\nCo-authored-by: Amp \u003camp@ampcode.com\u003e"
    },
    {
      "commit": "aed3a989e6b0300345c07b9e18d3298a0a56b377",
      "tree": "e99f782e62531f1a5861a22fc1c594137f74d800",
      "parents": [
        "b84160bc778783d6ae125ee501459fc9109ae6a0"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Sat Jan 10 10:57:51 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 10 10:57:51 2026 +0000"
      },
      "message": "[gradle] Plumb through the force_version attribute (#1515)\n\nAdds support for the force_version attribute in the Gradle resolver,\nallowing users to force specific dependency versions.\n\nChanges:\n- Add forceVersion field to Artifact class\n- Plumb through ConfigArtifact and ResolverConfig\n- Implement in both GradleResolver and MavenResolver\n- Add test for force version behavior"
    },
    {
      "commit": "b84160bc778783d6ae125ee501459fc9109ae6a0",
      "tree": "57574ac19d81cf145ea99cf47ebf3b9cedee6f50",
      "parents": [
        "858991323dab4ae7247a7da42759c6c4b3263203"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Sat Jan 10 10:57:36 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 10 10:57:36 2026 +0000"
      },
      "message": "[gradle] Add dep exclusions to only that dep (#1514)\n\nFixes exclusion handling so that exclusions apply only to the specific\ndependency they\u0027re declared on, not globally.\n\nThis ensures that when you exclude a transitive dependency from one\nartifact, it doesn\u0027t accidentally get excluded from other artifacts\nthat legitimately depend on it."
    },
    {
      "commit": "858991323dab4ae7247a7da42759c6c4b3263203",
      "tree": "531c81a1269dab76d330cf5e79cbbdd2f314b44f",
      "parents": [
        "125245ed274ca5fdb572f450b1946a3c66538ab6"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Sat Jan 10 10:56:20 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 10 10:56:20 2026 +0000"
      },
      "message": "[gradle] Handle aggregating dependencies and relocation version conflicts (#1512)\n\nThis change improves the Gradle resolver\u0027s handling of two edge cases:\n\n1. Aggregating dependencies with only classified artifacts:\n   Dependencies that exist solely to group platform-specific artifacts\n   (e.g., native libraries with -osx-aarch_64.jar but no base JAR) are\n   now correctly identified and collapsed.\n\n2. Relocation version conflicts:\n   When a relocated artifact has a different version than requested,\n   the resolver now correctly handles this by preferring the target\n   artifact.\n\nKey changes:\n- Add collapseAggregatingDependencies() to handle deps with only\n  classified artifacts (sources, javadoc, platform-specific)\n- Improve hasDownloadableArtifact() to check for actual non-POM files\n- Handle relocation where target version differs from requested\n- Add test for aggregating dependency resolution\n\nFixes issues where resolution would fail for native libraries or\nproduce incorrect graphs for relocated artifacts with version changes."
    },
    {
      "commit": "125245ed274ca5fdb572f450b1946a3c66538ab6",
      "tree": "56162951b44a2a58c14ce057a35079412cb1a370",
      "parents": [
        "39dac421006052cda2c40f76c8126b08c71b9172"
      ],
      "author": {
        "name": "Vincent Rose",
        "email": "vrose@confluent.io",
        "time": "Fri Jan 09 09:34:09 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 09 16:34:09 2026 +0000"
      },
      "message": "BOM Fixes (#1506)\n\nAddress gaps in bom generation, dedupe some of the pom/bom logic\n"
    },
    {
      "commit": "39dac421006052cda2c40f76c8126b08c71b9172",
      "tree": "d8292e30f4224af8157e6aaf44028fc887eb9829",
      "parents": [
        "0e71e08a3160e8c1a0e44b26741dd16d28b92e78"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Fri Jan 09 13:46:16 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 09 13:46:16 2026 +0000"
      },
      "message": "Allow an optional index of dep -\u003e class to be created (#1492)\n\nWhen the index is generated, the information that used to be in the lock file is moved to the index. This will reduce the size of the lock file."
    },
    {
      "commit": "0e71e08a3160e8c1a0e44b26741dd16d28b92e78",
      "tree": "e63958b1c9995ecc705698a9a2268ebc324cb71a",
      "parents": [
        "fb9c549bf7adbe195d7c370e39057d318b58853d"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Fri Jan 09 13:45:11 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 09 13:45:11 2026 +0000"
      },
      "message": "Put files in `ResolutionResult` (#1484)\n\nThis will allow an optimisation for when the resolver has already downloaded all\nthe files so we can avoid a \"double download\"\n"
    },
    {
      "commit": "fb9c549bf7adbe195d7c370e39057d318b58853d",
      "tree": "584b93dd24e2221932b7e190a940a56d66481acb",
      "parents": [
        "523b21c71afebd06294dd6a1273b73ba0d9ef92f"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Fri Jan 09 09:32:12 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 09 09:32:12 2026 +0000"
      },
      "message": "Optimize dependency graph building with O(1) lookups (#1483)\n\nReplace O(n²) linear searches with O(1) hash set lookups when checking\nif a dependency is in the requested deps list. Previously, isRequestedDep()\nwas called inside nested loops, doing a full stream().anyMatch() scan for\nevery dependency and child dependency, causing long delays on large\ndependency graphs.\n\nNow creates a Set\u003cString\u003e lookup cache at the start of parseDependencies()\nand uses constant-time contains() checks instead of linear scans."
    },
    {
      "commit": "523b21c71afebd06294dd6a1273b73ba0d9ef92f",
      "tree": "96a59da4037b763c32cb196fb32da7ea11d295d4",
      "parents": [
        "6b130f130ea4e946f7c6273411c38e3e6bc607f5"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Wed Jan 07 23:18:45 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 07 23:18:45 2026 +0000"
      },
      "message": "Provide a mechanism to list all resolved direct deps for a workspace (#1510)\n\nYou can do this by running `bazel run @maven//:direct_deps`"
    },
    {
      "commit": "6b130f130ea4e946f7c6273411c38e3e6bc607f5",
      "tree": "503d10c3e9ff6f0ba50ce847d6de1397f7e4f0c2",
      "parents": [
        "9d006ef1a929ad0a484d981cf129a562c87459ba"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Mon Jan 05 17:52:13 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 05 17:52:13 2026 +0000"
      },
      "message": "Handle relocations in the gradle resolver (#1485)\n\n"
    },
    {
      "commit": "9d006ef1a929ad0a484d981cf129a562c87459ba",
      "tree": "6248d51972cc773bd00c1bd2c0b134ef76e9ae4d",
      "parents": [
        "8197c2a331716ae1755cf7a7d8c541ba045435e2"
      ],
      "author": {
        "name": "cheister",
        "email": "cheister@squareup.com",
        "time": "Mon Jan 05 09:24:14 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 05 17:24:14 2026 +0000"
      },
      "message": "Add logback to Gradle Resolver to resolve SLF4J provider not found message (#1508)\n\n"
    },
    {
      "commit": "8197c2a331716ae1755cf7a7d8c541ba045435e2",
      "tree": "44700b8a9350aadb88bbdb91c670ec5c5457208b",
      "parents": [
        "e95b9d7d2e70b32c11dc363f48d04bf3d619e5be"
      ],
      "author": {
        "name": "Yavor Paunov",
        "email": "YavorPaunov@users.noreply.github.com",
        "time": "Tue Dec 23 05:41:45 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 23 10:41:45 2025 +0000"
      },
      "message": "fix(pom_file): exclusions referenced before assignment (#1503)\n\nUnder specific circumstances, the exclusions variable inside _pom_file_impl ends up being referenced before assignment. Moving it outside the if block fixes this.\n\nMore specifically, this happens when a maven_export has the target parameter set (to point to a jar file) instead of a lib_name. I have also added a test case that triggers this to prevent regression."
    },
    {
      "commit": "e95b9d7d2e70b32c11dc363f48d04bf3d619e5be",
      "tree": "80462adffe48e3f70bdb4b8016df1104c3f8edb9",
      "parents": [
        "26709ad21d74c31b13e38272aa65f72573459006"
      ],
      "author": {
        "name": "JonathanPerry651",
        "email": "jonathan.perry@gs.com",
        "time": "Tue Dec 16 12:58:23 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 16 12:58:23 2025 +0000"
      },
      "message": "Add finegrained control of the visibility of override targets (#1488)\n\n* Add finegrained control of the visibility of targets generated through overrides\n\n* Fix visibility test to work in CI\n\nThe genquery attr() function doesn\u0027t reliably match visibility attributes,\nso simplified the test to verify the target exists with the visibility set.\nThis is sufficient since incorrect visibility would cause target generation\nto fail.\n\n---------\n\nCo-authored-by: Jonathan Perry \u003cjonpez63@gmail.com\u003e"
    },
    {
      "commit": "26709ad21d74c31b13e38272aa65f72573459006",
      "tree": "257716edb6f1b02a9eb6ad2da8e5ad73d3b470f4",
      "parents": [
        "a23c85cf0af3a2b10d3d84da7a0160261b38e2bb"
      ],
      "author": {
        "name": "Vincent Rose",
        "email": "vrose@confluent.io",
        "time": "Thu Dec 11 10:42:25 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 11 17:42:25 2025 +0000"
      },
      "message": "Fix issue with pom generation failing when checking exclusions (#1500)\n\nWhen a `java_export` had a transitive dependency (through another `java_export`) on a maven artifact with exclusions defined via `maven.artifact()`, POM generation would fail. This happened because the validation was comparing exclusions from the entire transitive dependency graph against only the direct dependencies that appear in the POM.\n\nThis change removes the incorrect validation check. The existing code already handles this case correctly. Added tests to verify both the transitive java_export chain case and the bundled java_library case work correctly."
    },
    {
      "commit": "a23c85cf0af3a2b10d3d84da7a0160261b38e2bb",
      "tree": "713408e771030d38314303187b2cc6e20aa90a16",
      "parents": [
        "ef4b80d9ce3b3269dd58c59b62689acd1852adad"
      ],
      "author": {
        "name": "Gergely Fábián",
        "email": "gergo.fb@gmail.com",
        "time": "Tue Dec 02 17:49:16 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 02 16:49:16 2025 +0000"
      },
      "message": "rules_java: add rules loads to fix autoload on Bazel 9 (#1493)\n\nAutoload is disabled for rules_java by default on Bazel 9.\nMany of these were already fixed in #1271, but some more are still left."
    },
    {
      "commit": "ef4b80d9ce3b3269dd58c59b62689acd1852adad",
      "tree": "cfcac1447782e3d8bc4ec38704b7db0205e21e93",
      "parents": [
        "9213ad630e944c2fe2b4a9010aac974dde2ef70e"
      ],
      "author": {
        "name": "Sridhar Mocherla",
        "email": "smocherla@brex.com",
        "time": "Sun Nov 23 07:24:25 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 23 12:24:25 2025 +0000"
      },
      "message": "Use persistent gradle home between invocations (#1473)\n\n"
    },
    {
      "commit": "9213ad630e944c2fe2b4a9010aac974dde2ef70e",
      "tree": "f3c156070c865b7754e0dc86643cdafad7b00085",
      "parents": [
        "cc7ea6020ffbfd3832755012ccb6ad6ce6411a29"
      ],
      "author": {
        "name": "Ted Kaplan",
        "email": "tkaplan@roku.com",
        "time": "Tue Nov 18 21:43:29 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 19 05:43:29 2025 +0000"
      },
      "message": "Remove protobuf-java runtime jars from java_export when using toolchains_protoc (#1481)\n\n"
    },
    {
      "commit": "cc7ea6020ffbfd3832755012ccb6ad6ce6411a29",
      "tree": "c4bd4c3f222b67388fd9fe58cdb4744b55f00471",
      "parents": [
        "8ecfd36e4db64257ba2de5c0fb9000dbb4f12c0d"
      ],
      "author": {
        "name": "Matt Brown",
        "email": "mattbrown@spotify.com",
        "time": "Wed Nov 19 00:37:39 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 19 05:37:39 2025 +0000"
      },
      "message": "coursier: ignore dependencies with classifier\u003d\"sources\" and no \"file\" (#1479)\n\nWhen coursier is asked to resolve an artifact that has a transitive\ndependency on `org.apache.logging.log4j:log4j:3.0.0-beta3` (note the\nlack of packaging in the [real-world example here][0]) and\n`fetch_sources\u003dTrue` is set, coursier will return this in the list of\ndependencies:\n\n```\n{\n  \"coord\": \"org.apache.logging.log4j:log4j:jar:sources:3.0.0-beta3\",\n  \"file\": null,\n  \"directDependencies\": [],\n  \"dependencies\": []\n}\n```\n\nIn `rules_jvm_external` 6.8 this will cause errors when building the\nexternal repo generated by RJE since RJE will end up handling this\ndependency by a) generating a `http_file` with an empty list of `urls`\nand b) emitting a `copy_file` rule in the external repo\u0027s BUILD file\nthat refers to the non-existing `http_file` repo from A. See\n[this comment][1] for a breakdown of why this happens.\n\nPR #1207 added `pom` to the list of `SUPPORTED_PACKAGING_TYPES` so that\nthe dependencies of the pom could be aggregated (Maven interprets a\ndependency on an artifact with packaging\u003dpom as depending on the\n`\u003cdependencies\u003e` in that pom), but that PR didn\u0027t test what happens with\n`fetch_sources\u003dTrue` nor did it consider the case like with\n`org.apache.logging.log4j:log4j:3.0.0-beta3` where the coordinates\noutput by coursier don\u0027t mention the packaging at all.\n\nfixes #1477\n\n[0]: https://central.sonatype.com/artifact/org.opencadc/cadc-util/1.12.10\n[1]: https://github.com/bazel-contrib/rules_jvm_external/issues/1477#issuecomment-3530832168\n"
    },
    {
      "commit": "8ecfd36e4db64257ba2de5c0fb9000dbb4f12c0d",
      "tree": "1d7755008d9b735d82e59e174c2562d0de0ab7c8",
      "parents": [
        "a4b7dde578d3ad20a72aa1054b3144f56628c22e"
      ],
      "author": {
        "name": "Alex Humesky",
        "email": "ahumesky@google.com",
        "time": "Wed Nov 05 13:31:03 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 05 18:31:03 2025 +0000"
      },
      "message": "Update to use Starlark rules_android. Reapply ba7310ce4a1d8fb14434597fbc7440a4074f7695 (#1297)\n\nUpdate to use Starlark rules_android. Reapply ba7310ce4a1d8fb14434597fbc7440a4074f7695\n\nReverts https://github.com/bazel-contrib/rules_jvm_external/pull/1215 plus accounting for additional changes since https://github.com/bazel-contrib/rules_jvm_external/commit/ba7310ce4a1d8fb14434597fbc7440a4074f7695 went in\n\n---------\n\nCo-authored-by: Simon Mavi Stewart \u003csimon.m.stewart@gmail.com\u003e"
    },
    {
      "commit": "a4b7dde578d3ad20a72aa1054b3144f56628c22e",
      "tree": "3793c497b5d500e5769802272d8b5843333e0af7",
      "parents": [
        "5bfbe81ac0fb3709a71ce31f328ddb9fbddbd2de"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Wed Nov 05 17:58:30 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 05 17:58:30 2025 +0000"
      },
      "message": "Move the `MavenPublisherTest` to live with the other tests (#1476)\n\n"
    },
    {
      "commit": "5bfbe81ac0fb3709a71ce31f328ddb9fbddbd2de",
      "tree": "a64df02b955e3a049bb73068d7badcb8bcdcbc80",
      "parents": [
        "c68bcf90d60413208ae010139447c0cc46b58653"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Tue Nov 04 17:47:34 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 04 17:47:34 2025 +0000"
      },
      "message": "[resolver] Ensure gradle resolver rewrites known extensions when required (#1474)\n\n"
    },
    {
      "commit": "c68bcf90d60413208ae010139447c0cc46b58653",
      "tree": "49464c712f178466e6baf82c8baa711cfbb4528f",
      "parents": [
        "425cdc8d6ed037f4cd66733ced3d682c013dbe0a"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Tue Nov 04 17:03:31 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 04 17:03:31 2025 +0000"
      },
      "message": "[resolver] Allow gradle resolver to have self loops (#1475)\n\n"
    },
    {
      "commit": "425cdc8d6ed037f4cd66733ced3d682c013dbe0a",
      "tree": "190320537fb1d837e7c7c912786fab07b9f86baf",
      "parents": [
        "3300641c915691645b89c3c37dabc32fbd5073e6"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Tue Nov 04 12:56:22 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 04 12:56:22 2025 +0000"
      },
      "message": "Prepare for 6.9 release (#1425)\n\n"
    },
    {
      "commit": "3300641c915691645b89c3c37dabc32fbd5073e6",
      "tree": "116109646819fb77a5fa1b96e6b6976beeae3807",
      "parents": [
        "4fb7c4659fa50654a6f72f1455cc9ddbe0b1cf2d"
      ],
      "author": {
        "name": "Sridhar Mocherla",
        "email": "smocherla@brex.com",
        "time": "Tue Nov 04 07:15:18 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 04 12:15:18 2025 +0000"
      },
      "message": "Fix cycles with some dependencies with gradle resolver (#1472)\n\n"
    },
    {
      "commit": "4fb7c4659fa50654a6f72f1455cc9ddbe0b1cf2d",
      "tree": "39a3b65e6f541fa540495e17c9b42392c9809270",
      "parents": [
        "61cd272adff0a867966396230c8e9a759da3e568"
      ],
      "author": {
        "name": "Sridhar Mocherla",
        "email": "smocherla@brex.com",
        "time": "Wed Oct 22 14:10:32 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 22 19:10:32 2025 +0100"
      },
      "message": "Fix gradle resolver to throw exception on unresolved dependencies (#1466)\n\nOnly throw exception if it\u0027s a requested dependency"
    },
    {
      "commit": "61cd272adff0a867966396230c8e9a759da3e568",
      "tree": "4f7bb107c5e32abfa9b1bd1a97ab4116e2880f06",
      "parents": [
        "568c0ce4ecdbf01ee432d6ec140ec65bb3427297"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Mon Oct 20 23:58:46 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 20 23:58:46 2025 +0100"
      },
      "message": "Handle all known variants used in gradle version catalogues (#1468)\n\n"
    },
    {
      "commit": "568c0ce4ecdbf01ee432d6ec140ec65bb3427297",
      "tree": "b72d792210d32931840bd0fb73f315aac6a5562a",
      "parents": [
        "cc6d5b6077f67b057cb6157ea1fcaec3fadc1ad6"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Mon Oct 20 23:11:22 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 20 15:11:22 2025 -0700"
      },
      "message": "Fix yaml file so CI builds pass (#1469)\n\n* Fix yaml file so CI builds pass\n\n* Run IJ\u0027s yaml code formatter"
    },
    {
      "commit": "cc6d5b6077f67b057cb6157ea1fcaec3fadc1ad6",
      "tree": "d583ab4999b87fb0b1f4bc0c4b16a265c20362a0",
      "parents": [
        "786201f360f227b409129ebc5a80f9b624b63ca6"
      ],
      "author": {
        "name": "utzcoz",
        "email": "43091780+utzcoz@users.noreply.github.com",
        "time": "Tue Oct 14 12:58:08 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 14 05:58:08 2025 +0100"
      },
      "message": "ci: Enable local_test example on macOS (#1459)\n\nSigned-off-by: utzcoz \u003cutzcoz@outlook.com\u003e"
    },
    {
      "commit": "786201f360f227b409129ebc5a80f9b624b63ca6",
      "tree": "1605188ce1aa98395a4975b90cefd900c251eca3",
      "parents": [
        "739db0842da6b15936c796f2b7bbadcc1f5bad9e"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Wed Oct 08 18:04:09 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 08 18:04:09 2025 +0100"
      },
      "message": "Ensure packaging is respected when resolving artifacts (#1463)\n\nCloses #1461"
    },
    {
      "commit": "739db0842da6b15936c796f2b7bbadcc1f5bad9e",
      "tree": "495c5b2a1bde1855016a372a58a961b720cc756a",
      "parents": [
        "75ff71ea84141466507740a5b62238b2b5d0d7f5"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Wed Oct 08 16:53:52 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 08 16:53:52 2025 +0100"
      },
      "message": "Untangle resolvers (#1458)\n\nUntil now the `maven` and `gradle` resolvers have been linked into the\nsame binary. While this is convenient, it means that people need to\ndownload dependencies they won\u0027t otherwise use.\n\nThis change breaks the resolvers into their own `java_binary` targets\nso that they can be referenced individually, thus reducing the amount\nof dependencies that need to be downloaded before resolution can\nbegin.\n\nAfter this change:\n\n```\nbazel query \u0027somepath(@regression_testing_maven//:pin, @gradle//...:*)\u0027\n```\n\nreturns an empty set.\n"
    },
    {
      "commit": "75ff71ea84141466507740a5b62238b2b5d0d7f5",
      "tree": "f28bb47154e277e7688303184adc33050517e6a5",
      "parents": [
        "752d446bdb7ccfd4fbfbefb69b17a8f47bd25af2"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Wed Oct 08 09:50:36 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 08 09:50:36 2025 +0100"
      },
      "message": "[gradle] Symlink user cache dir when `RJE_UNSAFE_CACHE` is set (#1448)\n\n"
    },
    {
      "commit": "752d446bdb7ccfd4fbfbefb69b17a8f47bd25af2",
      "tree": "d6aaa215442fc2430f546a8fbffdbe07fa79005f",
      "parents": [
        "6dd15aa87f53123fa15b06d944d82041e1f8e496"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Wed Oct 08 09:49:44 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 08 09:49:44 2025 +0100"
      },
      "message": "Ensure that resolved artifact hash is calculated the same way in Java and Starlark (#1462)\n\n"
    },
    {
      "commit": "6dd15aa87f53123fa15b06d944d82041e1f8e496",
      "tree": "56ae8e8a5e9345de77fe42238e99f288f0ac54fd",
      "parents": [
        "15c8d59963eeaf1409a591e3fe9720707ed44b89"
      ],
      "author": {
        "name": "Sridhar Mocherla",
        "email": "smocherla@brex.com",
        "time": "Tue Oct 07 05:58:55 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 07 10:58:55 2025 +0100"
      },
      "message": "Add more unit tests for gradle resolver (#1457)\n\n"
    },
    {
      "commit": "15c8d59963eeaf1409a591e3fe9720707ed44b89",
      "tree": "1b23249acabf0221e13addaac642402996c28fa0",
      "parents": [
        "5e69c1e98ea7d6ab8d69863205d2676a532f0106"
      ],
      "author": {
        "name": "Vincent Rose",
        "email": "vrose@confluent.io",
        "time": "Mon Oct 06 14:22:51 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 06 22:22:51 2025 +0100"
      },
      "message": "Expose CreateJar as a rule (#1449)\n\n"
    },
    {
      "commit": "5e69c1e98ea7d6ab8d69863205d2676a532f0106",
      "tree": "ab6e1b830106855b2f9cb51ef6da42623978c0ed",
      "parents": [
        "5c3a62b09bddf037171e8d638d8f42f2c85860aa"
      ],
      "author": {
        "name": "Vincent Rose",
        "email": "vrose@confluent.io",
        "time": "Mon Oct 06 08:23:17 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 06 16:23:17 2025 +0100"
      },
      "message": "Fix issue where MavenPublisher hangs indefinitely (#1444)\n\n---------\n\nCo-authored-by: Farid Zakaria \u003cfzakaria@confluent.io\u003e"
    },
    {
      "commit": "5c3a62b09bddf037171e8d638d8f42f2c85860aa",
      "tree": "3fa9c600024652b9450ad4e033e22a8b78d6257f",
      "parents": [
        "7a7d0383e585cbbab5d69dce65b0d90ee84ce3ed"
      ],
      "author": {
        "name": "utzcoz",
        "email": "43091780+utzcoz@users.noreply.github.com",
        "time": "Mon Oct 06 22:20:09 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 06 15:20:09 2025 +0100"
      },
      "message": "Bump Robolectric to 4.16 (#1456)\n\n1. Bump minSdk to 21 as AndroidX bumped it before and dependencies have\n   this restriction.\n2. Bump AndroidX test junit version and add correct junit4 dependency\n   version to avoid potential class cast issues when bumping\n   dependencies.\n\nSigned-off-by: utzcoz \u003cutzcoz@outlook.com\u003e"
    },
    {
      "commit": "7a7d0383e585cbbab5d69dce65b0d90ee84ce3ed",
      "tree": "0f5d3e10783f02072b8529a74f7b47d4b1b1cbb8",
      "parents": [
        "8ad5a33f92b368e825298ad11c6e56757db3dd77"
      ],
      "author": {
        "name": "Honnix",
        "email": "honnix@users.noreply.github.com",
        "time": "Thu Sep 11 12:54:03 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 11 11:54:03 2025 +0100"
      },
      "message": "fix: Do not use import scope in dependencies (#1432)\n\n"
    },
    {
      "commit": "8ad5a33f92b368e825298ad11c6e56757db3dd77",
      "tree": "682fc4729c3ecd42df1edd88858f27eec5cc33ea",
      "parents": [
        "1c5cfbf96de595a3e23cf440fb40380cc28c1aea"
      ],
      "author": {
        "name": "James Judd",
        "email": "james@lab-y.com",
        "time": "Wed Sep 10 11:58:01 2025 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 10 18:58:01 2025 +0100"
      },
      "message": "Maintain Starlark insertion order for repositories (#1447)\n\nAbout a year ago `repositories` were changed to be lexicographically\nsorted in the lock file instead of maintaining insertion order. This\nhappened here:\nhttps://github.com/bazel-contrib/rules_jvm_external/commit/2210745a6d6a36fd9f7815957c535e023ce4e625#diff-8c0518be6517159463b7482755f0cbecccc6f0abd1e86daf65c36e592da78ab8R121\n\nThat change took effect recently in 6.8 when the\n`private/tools/prebuilt/lock_file_converter_deploy.jar` file was\nupdated:\nhttps://github.com/bazel-contrib/rules_jvm_external/commit/3034e39e2b8d460b8adb137834d88b06b6a44783#diff-98937dcc9d91f4310548d9ed8ce25c1f8b790e0f2bfa6158acbc043e9e620360\n\nWe ran into a problem after upgrading to 6.8 where we encountered a\nlarge number of 404s when fetching dependencies. We\u0027d avoided this\npreviously by putting `https://repo.maven.apache.org/maven2` ahead of\nall our other repositories in the `install` function call. Most of our\ndependencies are in that repo and it seems that repo used to be checked\nfirst.\n\nThe change to sort lexicographically resulted in lots of 404s because\n`repo.maven.apache.org` now comes last for us instead of first.\n\nThis change restores insertion order, so the order your `repositories`\nare in Starklark is the same order they are in the lockfile.\n\n---\n\nThere is another part to this change where\n`private/tools/prebuilt/lock_file_converter_deploy.jar` needs to be\nupdated.\n\nI\u0027ve verified this change works by building that jar with via\n`//private/tools/java/com/github/bazelbuild/rules_jvm_external/coursier:LockFileConverter_deploy.jar`\nand overriding our repo\u0027s `bazel_dep` to point to the updated version.\n\nI\u0027m not including that jar file in this commit. I\u0027m happy to do so, but\nconsidering it is a binary, I imagine a maintainer will want to build\nand commit it."
    },
    {
      "commit": "1c5cfbf96de595a3e23cf440fb40380cc28c1aea",
      "tree": "4b2eb3d1124ee4c40e17cc4700a987dc23f9eadf",
      "parents": [
        "7d0015359dfac8532e408b6be67cee262c605c87"
      ],
      "author": {
        "name": "Farid Zakaria",
        "email": "farid.m.zakaria@gmail.com",
        "time": "Wed Aug 27 16:04:35 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 28 00:04:35 2025 +0100"
      },
      "message": "Add support for publishing maven-metadata.xml (#1260)\n\nMaven repositories normally have a maven-metadata.xml file that indicate to the Maven system what versions are available and which is to be considered the latest version.\n\n```xml\n\u003cmetadata modelVersion\u003d\"1.1.0\"\u003e\n    \u003cgroupId\u003ecom.mycompany.app\u003c/groupId\u003e\n    \u003cartifactId\u003emy-app\u003c/artifactId\u003e\n    \u003cversioning\u003e\n        \u003clatest\u003e1.0\u003c/latest\u003e\n        \u003crelease\u003e1.0\u003c/release\u003e\n        \u003cversions\u003e\n            \u003cversion\u003e1.0\u003c/version\u003e\n        \u003c/versions\u003e\n        \u003clastUpdated\u003e20200731090423\u003c/lastUpdated\u003e\n    \u003c/versioning\u003e\n\u003c/metadata\u003e\n```\n\nAt Confluent, we use AWS Code Artifactory which does not mark a Maven package as \"published\" unless a new maven-metadata.xml is uploaded indicating so.\n\nAdd support for reading existing maven-metadata.xml\nAdd support for adding the new version to the metadata object\nAdd support to upload the file for http, file, s3 protocols\n\nCo-authored-by: Vince Rose \u003cvrose@confluent.io\u003e\nCo-authored-by: Na Lou \u003cnlou@confluent.io\u003e"
    },
    {
      "commit": "7d0015359dfac8532e408b6be67cee262c605c87",
      "tree": "0898da058c28485736f8e3c8f8dc0756be804a02",
      "parents": [
        "249706ae0807ffbcfdc6f6a1d674aafe4144b94d"
      ],
      "author": {
        "name": "l46kok",
        "email": "l47kok@gmail.com",
        "time": "Tue Aug 19 06:20:06 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 19 14:20:06 2025 +0100"
      },
      "message": "Remove asc signatures on checksums (#1430)\n\n"
    },
    {
      "commit": "249706ae0807ffbcfdc6f6a1d674aafe4144b94d",
      "tree": "e3433c738128be430df4a1dcf237558eeffabb0f",
      "parents": [
        "016e0e94887f3cb3daab1a373fbb4dee31f4247d"
      ],
      "author": {
        "name": "Matt Brown",
        "email": "mattbrown@spotify.com",
        "time": "Tue Aug 19 09:14:14 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 19 14:14:14 2025 +0100"
      },
      "message": "set -XX:+ExitOnOutOfMemoryError when invoking coursier (#1433)\n\nWe\u0027ve run into some cases where `coursier fetch` will trigger an\nOutOfMemoryError and spin 100% of CPU doing useless garbage collection\ncycles on a very large input tree and where the amount of memory on the\nsystem running the pin command is not large enough, where the JVM is by\ndefault setting the max heap size to 25% of system memory.\n\nThis is easy enough to address by setting `COURSIER_OPTS`, but another\nthing we noticed along the way is that there is no trace of this OOM at\nall unless `RJE_VERBOSE` is set, since otherwise `--quiet` is passed to\ncoursier. And since coursier isn\u0027t exiting on OOM, anyone running into\nthis problem is stuck waiting for the `resolve_timeout` passed to\n`maven.install()`.\n\nThis patch adds the `-XX:+ExitOnOutOfMemoryError` flag to\n`coursier_opts`, setting it unconditionally, to avoid the unnecessary\nwaiting for the `repository_ctx.execute(...)` timeout to kick in."
    },
    {
      "commit": "016e0e94887f3cb3daab1a373fbb4dee31f4247d",
      "tree": "ac439cf124e71c9cb00e3b57e8fa6230d47139e3",
      "parents": [
        "935db476ba732576a1f868b092301ce1bc44fe72"
      ],
      "author": {
        "name": "Vincent Rose",
        "email": "vrose@confluent.io",
        "time": "Thu Aug 14 09:39:23 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 14 17:39:23 2025 +0100"
      },
      "message": "Add declared exclusions to generated pom.xml (#1375)\n\n"
    },
    {
      "commit": "935db476ba732576a1f868b092301ce1bc44fe72",
      "tree": "67058b42bf1074b33eecdcbe664d8b539cda6560",
      "parents": [
        "1bcdaea9b3d459b15616c5969bd6d759d2674a3b"
      ],
      "author": {
        "name": "Yannic",
        "email": "contact@yannic-bonenberger.com",
        "time": "Fri Jul 25 17:44:39 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 25 16:44:39 2025 +0100"
      },
      "message": "Generate `@package_metadata` info for `jvm_import` targets (#1410)\n\n"
    },
    {
      "commit": "1bcdaea9b3d459b15616c5969bd6d759d2674a3b",
      "tree": "bbae3bf0567e9b21fd5d9af2a7a51ccf0ce99e6b",
      "parents": [
        "c97cd6aa4c76d061b1fb386c0c9be2d1f61213a4"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Thu Jul 24 12:59:01 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 24 12:59:01 2025 +0100"
      },
      "message": "Require `force_version` for root module artifact to take precedence (#1423)\n\nThis addresses concerns raised by owners of popular bazel modules that their inputs to the default namespace would be overridden by accident."
    },
    {
      "commit": "c97cd6aa4c76d061b1fb386c0c9be2d1f61213a4",
      "tree": "cd3e6261cbf99ee2145aa533359225d5b40fbce3",
      "parents": [
        "00d3c028cf7ed02b043fa004eb87abfbf10c2004"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Thu Jul 24 11:43:30 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 24 11:43:30 2025 +0100"
      },
      "message": "Indicate which `install` tag has duplicate coordinates (#1422)\n\nAnd only deduplicate repos that are in the root module."
    },
    {
      "commit": "00d3c028cf7ed02b043fa004eb87abfbf10c2004",
      "tree": "37db30f6f55708cbe51729dc39745b71abf52f3f",
      "parents": [
        "1800f5fcbd1bbb7decdc86883a9d320d64cd65a4"
      ],
      "author": {
        "name": "Dmitry Ivankov",
        "email": "dmitry.ivankov@cognite.com",
        "time": "Thu Jul 24 12:42:44 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 24 11:42:44 2025 +0100"
      },
      "message": "maven.override: make override alias preserve strict visibility of overridden target (#1416)\n\nMotivation is that override alias should represent and replace overridden\ntarget coordinates and should be subject to same visibility rules.\n\nAnd before this change if alias target is public, but overridden target\nisn\u0027t, replacing it with public alias to public target makes it public\nsubtly breaking strict visibility.\n\nResolves https://github.com/bazel-contrib/rules_jvm_external/issues/1415"
    },
    {
      "commit": "1800f5fcbd1bbb7decdc86883a9d320d64cd65a4",
      "tree": "40dd4a455a817f6927fdc009744f376865b4c729",
      "parents": [
        "6119204e9246afa2b4cc28569b3241ad76b7a5d3"
      ],
      "author": {
        "name": "Sridhar Mocherla",
        "email": "smocherla@brex.com",
        "time": "Thu Jul 24 06:41:33 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 24 11:41:33 2025 +0100"
      },
      "message": "Fetch transitive POMs in gradle resolver (#1411)\n\n"
    },
    {
      "commit": "6119204e9246afa2b4cc28569b3241ad76b7a5d3",
      "tree": "07bfe3bfb9a802c48982e1a38429541eacf7e58c",
      "parents": [
        "d61367cc18c6178838655446dbcdcb76c1bf4b7d"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Fri Jul 18 14:12:34 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 18 14:12:34 2025 +0100"
      },
      "message": "Handle `package` in gradle versions files properly (#1419)\n\nTurns out that a gradle version catalogue can have a `package` field\nwhich equates to the `packaging` of a maven coordinate. That is, when\nseen in a toml file, this:\n\n```\ntasks \u003d { module \u003d \"com.google.android.gms:play-services-tasks\", package \u003d \"aar\", version \u003d \"18.1.0\" }\n```\n\nis the same as `com.google.android.gms:play-services-tasks:18.1.0@aar`\n"
    },
    {
      "commit": "d61367cc18c6178838655446dbcdcb76c1bf4b7d",
      "tree": "cc9da8ca49b11b15e06d43a2563e166d71d0edae",
      "parents": [
        "a67bd7e0846811e234bca1ce87526f0f7422423d"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Thu Jul 10 13:37:08 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 10 13:37:08 2025 +0100"
      },
      "message": "[ci] At least one presubmit task should attempt to build everything (#1407)\n\nWe\u0027ve had several cases where we\u0027ve needed to land additional PRs to fix\nthings once they\u0027d landed because we weren\u0027t building the entire repo.\n\nWe don\u0027t need to do this for our entire matrix of versions and OSs, but\ndoing this in one place would be Really Nice."
    },
    {
      "commit": "a67bd7e0846811e234bca1ce87526f0f7422423d",
      "tree": "64550a1c0b8bb68bca2762c7327a146182184d29",
      "parents": [
        "a88c56ef91452adcdcc7af5e95bb335b0c2d9bc8"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Thu Jul 10 13:36:39 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 10 13:36:39 2025 +0100"
      },
      "message": "[ci] Fix bzlmod failures caused by `protobuf` update (#1408)\n\n"
    },
    {
      "commit": "a88c56ef91452adcdcc7af5e95bb335b0c2d9bc8",
      "tree": "717d21d76c1df527ca74802d18b89f91bbfb5d19",
      "parents": [
        "09d38648008ceb1b94a1a8a209b3acf88ceddfca"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Mon Jul 07 19:13:20 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 07 18:13:20 2025 +0000"
      },
      "message": "Refresh the docs (#1406)\n\n"
    },
    {
      "commit": "09d38648008ceb1b94a1a8a209b3acf88ceddfca",
      "tree": "dd991298301e1b0c040af5df82a41b0e0f21b57f",
      "parents": [
        "5c7ab8ba4969d3dd321430e4a93802519ccfc419"
      ],
      "author": {
        "name": "cheister",
        "email": "cheister@squareup.com",
        "time": "Mon Jul 07 11:07:40 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 07 11:07:40 2025 -0700"
      },
      "message": "Update kt_android_library load statements (#1405)\n\n"
    },
    {
      "commit": "5c7ab8ba4969d3dd321430e4a93802519ccfc419",
      "tree": "0c2f024ffd6c792f1e865be4cf02d535430c137a",
      "parents": [
        "e870fd06ae64a2c6db2c9410140db27c43f4b1d5"
      ],
      "author": {
        "name": "cheister",
        "email": "cheister@squareup.com",
        "time": "Mon Jul 07 10:31:45 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 07 10:31:45 2025 -0700"
      },
      "message": "Move to gradle style coordinates (#1404)\n\n"
    },
    {
      "commit": "e870fd06ae64a2c6db2c9410140db27c43f4b1d5",
      "tree": "59f57f70fc75a47e67e6fdf55e0d0c6c8c66e370",
      "parents": [
        "aca619b117c1fe306ffdd20c5f47cc4dbd5effed"
      ],
      "author": {
        "name": "cheister",
        "email": "cheister@squareup.com",
        "time": "Mon Jul 07 10:29:06 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 07 10:29:06 2025 -0700"
      },
      "message": "Move toml_parser.bzl to private/lib (#1402)\n\n"
    },
    {
      "commit": "aca619b117c1fe306ffdd20c5f47cc4dbd5effed",
      "tree": "e190b283ec1d6765386c8534461601b8ad11390f",
      "parents": [
        "4bea0c443fa4e4339bb7580dec77026314a63d07"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Sat Jul 05 10:39:43 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 05 09:39:43 2025 +0000"
      },
      "message": "Add support for reading artifacts from a file (#1400)\n\nThe format chosen is Gradle\u0027s version catalog, which is documented\nat https://docs.gradle.org/current/userguide/version_catalogs.html\n\n---------\n\nCo-authored-by: Romain Chossart \u003crchossart@apple.com\u003e\nCo-authored-by: Sitaktif \u003csitaktif@gmail.com\u003e"
    },
    {
      "commit": "4bea0c443fa4e4339bb7580dec77026314a63d07",
      "tree": "42dbd27b0baede3df74dc7146558af944efb47a7",
      "parents": [
        "2a9f3af9a5a3b7562b8a3b8d171221a6f05e4510"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Sat Jul 05 10:15:06 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 05 10:15:06 2025 +0100"
      },
      "message": "Document the `bzlmod` extension and tag classes (#1401)\n\n"
    },
    {
      "commit": "2a9f3af9a5a3b7562b8a3b8d171221a6f05e4510",
      "tree": "605e8f8e49fc40ef56f3cf4ca3d43dc4b37f43a0",
      "parents": [
        "65e8d3832b3e2c763a189d8a7dd9cbcb0d783c32"
      ],
      "author": {
        "name": "Sridhar Mocherla",
        "email": "smocherla@brex.com",
        "time": "Fri Jul 04 13:26:26 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 04 10:26:26 2025 -0700"
      },
      "message": "Update docs for maven_install (#1399)\n\n"
    },
    {
      "commit": "65e8d3832b3e2c763a189d8a7dd9cbcb0d783c32",
      "tree": "a4a19fc6dc5bfc7370820edc114ae56b7b526a7a",
      "parents": [
        "de665d4253e168fcd4e70e08e50a657e30fc1558"
      ],
      "author": {
        "name": "Jin",
        "email": "jin@users.noreply.github.com",
        "time": "Fri Jul 04 22:54:52 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 04 15:54:52 2025 +0100"
      },
      "message": "Remove dep on android ndk. (#1305)\n\nCo-authored-by: Simon Mavi Stewart \u003csimon.m.stewart@gmail.com\u003e"
    },
    {
      "commit": "de665d4253e168fcd4e70e08e50a657e30fc1558",
      "tree": "baa68a2cc20b7de4340acac6c3854ba5bda8b019",
      "parents": [
        "ac628a746292c34146bb3027c32cd7b8f966d656"
      ],
      "author": {
        "name": "cheister",
        "email": "cheister@squareup.com",
        "time": "Thu Jul 03 16:02:38 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 03 16:02:38 2025 -0700"
      },
      "message": "Use the same RJE_VERBOSE not null logic in Gradle resolver (#1398)\n\n"
    },
    {
      "commit": "ac628a746292c34146bb3027c32cd7b8f966d656",
      "tree": "13f2ea03e343e3d10e3bf032f4d15d196df3323e",
      "parents": [
        "ccbf83dea8e87aa1c3be73c2b9560c13fcc5d74a"
      ],
      "author": {
        "name": "Sridhar Mocherla",
        "email": "smocherla@brex.com",
        "time": "Thu Jul 03 10:18:57 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 03 15:18:57 2025 +0100"
      },
      "message": "Fix resolution of Android/AAR artifacts with Gradle resolver (#1395)\n\n"
    },
    {
      "commit": "ccbf83dea8e87aa1c3be73c2b9560c13fcc5d74a",
      "tree": "e3e86200cd658df2f035c5fb8df50403c9e3a438",
      "parents": [
        "3034e39e2b8d460b8adb137834d88b06b6a44783"
      ],
      "author": {
        "name": "cheister",
        "email": "cheister@squareup.com",
        "time": "Thu Jul 03 07:16:31 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 03 15:16:31 2025 +0100"
      },
      "message": "fail_if_repin_required is now True by default and minor improvement to failure message (#1397)\n\n"
    },
    {
      "commit": "3034e39e2b8d460b8adb137834d88b06b6a44783",
      "tree": "27724a12e73a8dd76e3036286e6a389ec0725b49",
      "parents": [
        "73f81b42dd115dcd8852ff677052d63eb1740d93"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Wed Jul 02 20:45:53 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 02 20:45:53 2025 +0100"
      },
      "message": "Housekeeping before we release 6.8 (#1384)\n\n* Refresh the prebuilt jars\n* Bump `bazel_features` because a transitive dep of ours insists on it\n* Default to the Maven Central url if possible in the tags\n"
    },
    {
      "commit": "73f81b42dd115dcd8852ff677052d63eb1740d93",
      "tree": "395743324c429d0ad5e7e82ff508698f0103b3ed",
      "parents": [
        "0a91f8c9d2639e3a8e6afb51c236c0b982902907"
      ],
      "author": {
        "name": "cheister",
        "email": "cheister@squareup.com",
        "time": "Tue Jul 01 09:57:24 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 01 09:57:24 2025 -0700"
      },
      "message": "Add dll, dylib and so types to maven package mappings (#1392)\n\n"
    },
    {
      "commit": "0a91f8c9d2639e3a8e6afb51c236c0b982902907",
      "tree": "4d07a031c0af3483bf8b00de1b77d2b3bb393c30",
      "parents": [
        "30899314873b6ec69dc7d02c4457fbe52a6e535d"
      ],
      "author": {
        "name": "Martin Kosiba",
        "email": "3844309+mkosiba@users.noreply.github.com",
        "time": "Tue Jul 01 17:04:49 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 01 17:04:49 2025 +0100"
      },
      "message": "[bzlmod] Allow suppressing warning about multiple contributing modules. (#1393)\n\nIn some cases it is valid for Bzlmod modules to inject additional\ndependencies into the default \"maven\" repository. In such cases the\nwarning is not helpful and it should be possible to suppress it.\n\nCo-authored-by: Martin Kosiba \u003cmkosiba@apple.com\u003e"
    },
    {
      "commit": "30899314873b6ec69dc7d02c4457fbe52a6e535d",
      "tree": "e02c718b167081c0c32c51eb20efef5deabfb04b",
      "parents": [
        "aa820718d740aa1042a696377596b010ce214b7e"
      ],
      "author": {
        "name": "cheister",
        "email": "cheister@squareup.com",
        "time": "Thu Jun 26 22:06:57 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 26 22:06:57 2025 -0700"
      },
      "message": "Use the artifact default values when adding them to a struct and add tests for coursier artifacts that have empty versions provided by BOMs and don\u0027t inlcude them in outdated (#1390)\n\n"
    },
    {
      "commit": "aa820718d740aa1042a696377596b010ce214b7e",
      "tree": "78792a5f2d9d9a0ced942de633064fafe266ac87",
      "parents": [
        "39e75e2777dffc5a6b466ec7d0cfafdff5e946cf"
      ],
      "author": {
        "name": "Vincent Rose",
        "email": "vrose@confluent.io",
        "time": "Thu Jun 26 14:05:51 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 26 22:05:51 2025 +0100"
      },
      "message": "Allow package exclusions and inclusions in javadocs (#1293)\n\n"
    },
    {
      "commit": "39e75e2777dffc5a6b466ec7d0cfafdff5e946cf",
      "tree": "e44af78c4e8aac5efee8c4d2e10129648a24e659",
      "parents": [
        "e7df3cfe78fe42ea9f1980ec336d7ce2b6357858"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Thu Jun 26 17:44:57 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 26 17:44:57 2025 +0100"
      },
      "message": "Document well-known issues with `bzlmod` (#1388)\n\n"
    },
    {
      "commit": "e7df3cfe78fe42ea9f1980ec336d7ce2b6357858",
      "tree": "4cafa5c73f77f09140ca527696e10afd0f89a420",
      "parents": [
        "8cc07c0e778cf5bcf7587fb345aaf27c55ed08b1"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Thu Jun 26 17:41:20 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 26 17:41:20 2025 +0100"
      },
      "message": "Begin documenting the gradle resolver (#1389)\n\n"
    },
    {
      "commit": "8cc07c0e778cf5bcf7587fb345aaf27c55ed08b1",
      "tree": "76b83f65f78d9f919a35ce68f85b7cf01d319652",
      "parents": [
        "f50d46ff19172e2f1bd30ac38a1119e1fb23ac74"
      ],
      "author": {
        "name": "cheister",
        "email": "cheister@squareup.com",
        "time": "Thu Jun 26 07:10:27 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 26 07:10:27 2025 -0700"
      },
      "message": "Run gradle regression tests in CI (#1385)\n\n"
    },
    {
      "commit": "f50d46ff19172e2f1bd30ac38a1119e1fb23ac74",
      "tree": "64eef3da10f7b1c58b2a9ff7a4eb3534e3968df7",
      "parents": [
        "ec4f9590395f3a538d2850daa4ed883b74998f33"
      ],
      "author": {
        "name": "Austin Schuh",
        "email": "AustinSchuh@users.noreply.github.com",
        "time": "Tue Jun 24 08:49:43 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 24 16:49:43 2025 +0100"
      },
      "message": "Modify maven_export to allow exporting zip archives (#1368)\n\nThis enables publishing zip files to maven.  The project I\u0027m converting\nover to bazel publishes C++ artifacts (JNI and others) as zip files to\nmaven.\n\n---------\n\nSigned-off-by: Austin Schuh \u003caustin.linux@gmail.com\u003e"
    },
    {
      "commit": "ec4f9590395f3a538d2850daa4ed883b74998f33",
      "tree": "510cf75844ac529e2dcb462c3fd364b4f0f7a3bf",
      "parents": [
        "29c451d2a62aa2451f5810c005ecac925b4772b6"
      ],
      "author": {
        "name": "Sumeet Gajjar",
        "email": "sumeetgajjar93@gmail.com",
        "time": "Tue Jun 24 08:46:07 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 24 16:46:07 2025 +0100"
      },
      "message": "Allow root module\u0027s override tags to take precedence over the overridees from transitive deps. (#1381)\n\n---------\n\nCo-authored-by: Jingwen Chen \u003cjingwen@google.com\u003e"
    },
    {
      "commit": "29c451d2a62aa2451f5810c005ecac925b4772b6",
      "tree": "c1514c9714b1ffe2c66ba9222bdd7072075de05e",
      "parents": [
        "b323e812de82d2d63cc6ec66dc00e66b4efd32d1"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "simon.m.stewart@gmail.com",
        "time": "Mon Jun 23 15:59:48 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 23 14:59:48 2025 +0000"
      },
      "message": "Ensure root module artifacts and boms take precedence with warnings (#1373)\n\nThis will also issue a warning if a dependency appears in multiple\nnon-root modules and not in the root module, since that\u0027s a cause\nof conflicts in the final resolution.\n\nAs part of this work, I\u0027ve made sure that the `artifacts` and `boms`\nare consistently stored as `structs` rather than a mix of `strings`\nand `structs`"
    }
  ],
  "next": "b323e812de82d2d63cc6ec66dc00e66b4efd32d1"
}
