)]}'
{
  "log": [
    {
      "commit": "e440c4ded5fa4f250cd297bcd3808135b15a629a",
      "tree": "6ac1ed1c9cc98aa1bfac13fa210f10c81cd36145",
      "parents": [
        "87d77891869c6fa550cc958dd06f92f63bbb8385"
      ],
      "author": {
        "name": "Jason Bedard",
        "email": "jason+github@jbedard.ca",
        "time": "Fri Apr 24 19:04:12 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 24 19:04:12 2026 -0700"
      },
      "message": "fix: make language agnostic kinds generic (#2053)\n\nThe generation of these kinds should not depend on the go language being\nenabled.\n\n**What type of PR is this?**\n\nBug fix\n\n**What package or component does this PR mostly affect?**\n\nlanguage/go\ncmd/gazelle\nall\n\n**What does this PR do? Why is it needed?**\n\nAllows any language to generate `filegroup`s without redeclaring the\nkinds.\n\nCo-authored-by: Jay Conrod \u003cjay@engflow.com\u003e"
    },
    {
      "commit": "87d77891869c6fa550cc958dd06f92f63bbb8385",
      "tree": "38cadaa26ebd73b98015e3e16b8b777da9cd8931",
      "parents": [
        "a472876ab09f8d86010222e77ea9bdcc247d03f8"
      ],
      "author": {
        "name": "Andrew Nelson",
        "email": "andrew2nelson@gmail.com",
        "time": "Wed Apr 22 15:03:01 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 22 22:03:01 2026 +0000"
      },
      "message": "Respect caller GOAUTH when building content (#2335)\n\n**What type of PR is this?**\nBug fix\n\n**What package or component does this PR mostly affect?**\n go_repository\n\n**What does this PR do? Why is it needed?**\n\nPass the user\u0027s GOAUTH env var (alongside GOPROXY) when invoking go. If\nboth GOATH and GOPROXY are set, the go toolchain will use GOAUTH to\ngenerate access tokens that will be passed to GOPROXY. [See here for\ndocumentation](https://pkg.go.dev/cmd/go@master#hdr-GOAUTH_environment_variable)\non the GOAUTH environment variable.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2334\n\n**Other notes for review**"
    },
    {
      "commit": "a472876ab09f8d86010222e77ea9bdcc247d03f8",
      "tree": "7ab64b05c2eb760726ddb16269a3613b854ab054",
      "parents": [
        "78f74abd5f7f22ec7eeef990bc5bb4a6c0c1f370"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jay@engflow.com",
        "time": "Sun Apr 19 15:18:08 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 19 22:18:08 2026 +0000"
      },
      "message": "Move and forward basic packages to v2 (#2311)\n\n**What type of PR is this?**\n\n\u003e Other\n\n**What package or component does this PR mostly affect?**\n\n- flag\n- label\n- merger\n- pathtools\n- rule\n- testools\n\n**What does this PR do? Why is it needed?**\n\nThese packages won\u0027t require substantial changes in v2, so we don\u0027t need\ntwo separate sets of definitions. v2 packages should eventually not\nimport anything from v1, so v2 is the source of truth. Consequently, the\nv1 packages are now just aliases for v2.\n\n**Which issues(s) does this PR fix?**\n\nFor #2272\n\n**Other notes for review**\n\nThis PR was generated with a small program,\nhttps://github.com/jayconrod/bazel-gazelle/blob/v2/tools/forward/forward.go.\nIt\u0027s throw-away code, so I\u0027m not planning to check it in. No manual\nchanges other than re-running Gazelle."
    },
    {
      "commit": "78f74abd5f7f22ec7eeef990bc5bb4a6c0c1f370",
      "tree": "ccdae6b89a79e34964375ef02840c668925d2568",
      "parents": [
        "b9530ec88be8a4afd55bac40dd2321b732311d32"
      ],
      "author": {
        "name": "Régis Desgroppes",
        "email": "rdesgroppes@gmail.com",
        "time": "Fri Apr 17 19:29:50 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 17 17:29:50 2026 +0000"
      },
      "message": "fix(language/go): use rules_go apparent name in proto compilers (#2326)\n\n**What type of PR is this?**\n\nBug fix\n\n**What package or component does this PR mostly affect?**\n\nlanguage/go\n\n**What does this PR do? Why is it needed?**\n\nIn Bzlmod workspaces, the apparent name of the rules_go module defaults\nto `@rules_go` (or whatever `repo_name` is set to in `MODULE.bazel`).\nThe default proto compiler labels are hardcoded to `@io_bazel_rules_go`,\ncausing Gazelle to always generate:\n```py\ngo_proto_library(\n    ...\n    compilers \u003d [\n        \"@io_bazel_rules_go//proto:go_proto\",\n        \"@io_bazel_rules_go//proto:go_grpc_v2\",\n    ],\n```\n... in pure Bzlmod workspaces where `@io_bazel_rules_go` does not exist,\nthis breaks the build.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2000\n\n**Other notes for review**\n\nSince `Configure()` already resolves `gc.rulesGoRepoName` from the\n`MODULE.bazel` apparent name mapping, the proposed fix consists in\nrebuilding the compiler lists from that resolved name whenever they have\nnot been overridden via `# gazelle:go_proto_compilers` and `#\ngazelle:go_grpc_compilers` directives.\n\n---------\n\nCo-authored-by: Jay Conrod \u003cjay@engflow.com\u003e"
    },
    {
      "commit": "b9530ec88be8a4afd55bac40dd2321b732311d32",
      "tree": "c0aae9b1e2dbe57eb45df06488e4dee81b2f7cf6",
      "parents": [
        "181c8b6675c21ea85b5c1d6aad47aad9adf0b216"
      ],
      "author": {
        "name": "Son Luong Ngoc",
        "email": "sluongng@gmail.com",
        "time": "Thu Apr 09 23:50:53 2026 +0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 09 12:50:53 2026 -0400"
      },
      "message": "go_deps: allow inheriting host env vars (#2328)\n\nThis adds `go_env_inherit` to both `gazelle_dependencies` and\n`go_deps.config`, so callers can forward selected host environment\nvariables into dependency fetching without checking literal values into\nsource control.\n\nThat is especially useful for BuildBuddy users whose workflows provide\nrepository authentication or other fetch-time settings through runtime\nenvironment variables. With this change, those workflows can keep the\nvalues in the runner environment and tell Gazelle which variable names\nto inherit.\n\nBzlmod example:\n\n```bzl\ngo_deps \u003d use_extension(\"@gazelle//:extensions.bzl\", \"go_deps\")\n\ngo_deps.config(\n    go_env \u003d {\n        \"GOPRIVATE\": \"github.com/my-org/*\",\n    },\n    go_env_inherit \u003d [\n        \"REPO_USER\",\n        \"REPO_TOKEN\",\n    ],\n)\n```"
    },
    {
      "commit": "181c8b6675c21ea85b5c1d6aad47aad9adf0b216",
      "tree": "82ea72eb18198c026976309ad147c679db0e681a",
      "parents": [
        "ba1056d23c086b3cb5335b25a82301c67edce4a4"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jay@engflow.com",
        "time": "Tue Apr 07 11:39:36 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 07 11:39:36 2026 -0700"
      },
      "message": "go_deps: don\u0027t print version mismatch messages for go.work modules (#2325)\n\n**What type of PR is this?**\n\n\u003e Bug fix\n\n**What package or component does this PR mostly affect?**\n\n\u003e go_deps\n\n**What does this PR do? Why is it needed?**\n\nNormally, go_deps prints a warning when a module is provided by\nbazel_dep, and the bazel_dep version does not match the version Go would\nselect.\n\nThis warning is not actionable for modules that come from go.work files.\ngo.work is used when there are multiple Go modules in the same\nworkspace. Go doesn\u0027t allow this outside the main module, but go_deps\ndoes. The Go version for each module is not meaningful in this\nsituation.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2315\n\n**Other notes for review**"
    },
    {
      "commit": "ba1056d23c086b3cb5335b25a82301c67edce4a4",
      "tree": "4b37e329711ffe6a45cc7683804dff8f712d36a1",
      "parents": [
        "cd1408c19694f5fe1287518ec5bd4304e1b796e0"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jay@engflow.com",
        "time": "Mon Apr 06 07:25:02 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 06 14:25:02 2026 +0000"
      },
      "message": "go_repository_tools: build with -buildvcs\u003dfalse (#2324)\n\n**What type of PR is this?**\n\n\u003e Bug fix\n\n**What package or component does this PR mostly affect?**\n\n`go_repository_tools`\n\n**What does this PR do? Why is it needed?**\n\nAdds `-buildvcs\u003dfalse` to the command line when building `gazelle` and\nother binaries for use within `go_repository`.\n\nLeaving VCS stamping enabled may cause problems if a VCS tool is\nmisconfigured. We don\u0027t really need VCS stamping.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2323\n\n**Other notes for review**"
    },
    {
      "commit": "cd1408c19694f5fe1287518ec5bd4304e1b796e0",
      "tree": "cc6daed575d0c5900633c70e16ebd0c83c60f6db",
      "parents": [
        "8bdd18dd4680626fecbba5bc346d39a267c31f33"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jay@engflow.com",
        "time": "Sun Apr 05 13:51:46 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 05 20:51:46 2026 +0000"
      },
      "message": "Revert \"go_deps: allow local module replacements, with a flag (#2317)\" (#2321)\n\nThis reverts commit 7c548446d7044d3d5c57a74096851ae6b0a9192f.\n\n**What type of PR is this?**\n\n\u003e Other\n\n**What package or component does this PR mostly affect?**\n\n\u003e go_deps\n\n**What does this PR do? Why is it needed?**\n\nReverts #2317.\n\n#2320 seems like a better solution for the same problem.\n\n**Which issues(s) does this PR fix?**\n\nFor #2315\n\n**Other notes for review**\n\nMerge after #2320."
    },
    {
      "commit": "8bdd18dd4680626fecbba5bc346d39a267c31f33",
      "tree": "4029eaf73de13c5caf459a468f12c92443d99a70",
      "parents": [
        "519d7cc183733c8c5486746c6dbbe06164c8dc3b"
      ],
      "author": {
        "name": "Simon Mavi Stewart",
        "email": "shs@squareup.com",
        "time": "Sun Apr 05 20:19:45 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 05 19:19:45 2026 +0000"
      },
      "message": "Add a `directive_file` directive (#2314)\n\n**What does this PR do? Why is it needed?**\n\nWhen managing a large monorepo (or possibly a small, chaotic repo) it\u0027s\npossible for the number of directives in build files (especially the\ntop-level build file) to become unmanageable, obscuring the actual\ncontent of the build file in a mess of directives.\n\nThis adds a new `directive_file`, which is treated as if the directives\nin it are inline with the build file. Recursion is forbidden (so you\ncan\u0027t use the `directive_file` directive in a directive file) to\nsimplify processing, both by machine and by people.\n\n**What type of PR is this?**\n\nFeature\n\n**What package or component does this PR mostly affect?**\n\n`rule` and `walk`\n\n**Which issues(s) does this PR fix?**\n\nYou\u0027ve disabled issues in the GitHub repo....\n\n---------\n\nCo-authored-by: Jay Conrod \u003cjay@engflow.com\u003e"
    },
    {
      "commit": "519d7cc183733c8c5486746c6dbbe06164c8dc3b",
      "tree": "1c2be15aa36dbfb7889eb5471d7e2b88b7b3bae5",
      "parents": [
        "7c548446d7044d3d5c57a74096851ae6b0a9192f"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jay@engflow.com",
        "time": "Sun Apr 05 11:15:46 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 05 11:15:46 2026 -0700"
      },
      "message": "MODULE.bazel: load dependencies from go.work instead of go.mod (#2320)\n\n**What type of PR is this?**\n\n\u003e Bug fix\n\n**What package or component does this PR mostly affect?**\n\n\u003e all\n\n**What does this PR do? Why is it needed?**\n\nThis lets us drop the `replace` from go.mod, which is blocking `go\ninstall` in #2319. And it more accurately represents how Gazelle is\nmanaging dependencies: we\u0027ll need to do this anyway if `v2/go.mod`\nrequires something that `go.mod` does not.\n\nThis requires a substantial change in `go_deps`. I\u0027ve renamed the\n`bazel_deps` list to `bazel_go_modules` to reflect the fact that with\n`go.work`, Bazel modules and Go modules are not one-to-one: a Bazel\nmodule like `gazelle` may contain multiple Go modules. We should not\ngenerate `go_repository` definitions for these, nor should we warn about\nselected version differences.\n\nUnfortunately, we can\u0027t ignore `go.work` files outside the main module.\nGazelle\u0027s `deps` labels refer to `//v2/...` packages within the same\nmodule; clients cannot have a different view of the module boundaries.\n\nThis change means that we don\u0027t need `ignore_local_replaced_modules`, so\nreverting that in #2321 since it\u0027s not released yet.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2319\n\n**Other notes for review**"
    },
    {
      "commit": "7c548446d7044d3d5c57a74096851ae6b0a9192f",
      "tree": "58f9f8d540a89e8dda4c7ef2d66199b1c8490a40",
      "parents": [
        "4a7caee10fbd2da9bb059f3ce7c2cac8d0050e53"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jay@engflow.com",
        "time": "Sun Mar 29 07:58:28 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 29 07:58:28 2026 -0700"
      },
      "message": "go_deps: allow local module replacements, with a flag (#2317)\n\n**What type of PR is this?**\n\n\u003e Bug fix\n\n**What package or component does this PR mostly affect?**\n\n\u003e go_deps\n\n**What does this PR do? Why is it needed?**\n\nThe go_deps.from_file tag now accepts an attribute\nignore_local_replaced_modules. When set, a go.mod \"require\" is ignored\n(no go_repository is instantiated) if it has a \"replace\" with a local\npath in the same file.\n\nThis hushes a new warning caused by Gazelle\u0027s own abuse of the module\nsystem: Gazelle has a single Bazel module but multiple Go modules. It\nrefers directly to packages in the v2 submodule without a repo marking,\nfor example, as \"//v2/flag\".\n\nThis flag allows opting into this behavior, since it may be a problem\nthat affects other Bazel modules with multiple Go modules, and it\u0027s\ndifficult to work around. It\u0027s opt-in to discourage wide use. Gazelle\nshould be able to clean this up once we can release proper v2 versions.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2315\n\n**Other notes for review**\n\nNot sure it\u0027s possible to write a test for this. The warning popped up\nwith `bazel run :gazelle`, but it\u0027s only a DEBUG line."
    },
    {
      "commit": "4a7caee10fbd2da9bb059f3ce7c2cac8d0050e53",
      "tree": "faa6e795c4fa4dc67c8b6c2549b5cce93e766e89",
      "parents": [
        "ea863a980aabeedbd27e5af656de536c85a24108"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Mar 19 07:30:01 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 07:30:01 2026 -0700"
      },
      "message": "build(deps): bump google.golang.org/grpc from 1.71.0 to 1.79.3 in /tests/bcr/go_mod (#2310)\n\nBumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from\n1.71.0 to 1.79.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/grpc/grpc-go/releases\"\u003egoogle.golang.org/grpc\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 1.79.3\u003c/h2\u003e\n\u003ch1\u003eSecurity\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eserver: fix an authorization bypass where malformed :path headers\n(missing the leading slash) could bypass path-based restricted\n\u0026quot;deny\u0026quot; rules in interceptors like \u003ccode\u003egrpc/authz\u003c/code\u003e. Any\nrequest with a non-canonical path is now immediately rejected with an\n\u003ccode\u003eUnimplemented\u003c/code\u003e error. (\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8981\"\u003e#8981\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.79.2\u003c/h2\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003estats: Prevent redundant error logging in health/ORCA producers by\nskipping stats/tracing processing when no stats handler is configured.\n(\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/pull/8874\"\u003egrpc/grpc-go#8874\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.79.1\u003c/h2\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003egrpc: Remove the \u003ccode\u003e-dev\u003c/code\u003e suffix from the User-Agent\nheader. (\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/pull/8902\"\u003egrpc/grpc-go#8902\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 1.79.0\u003c/h2\u003e\n\u003ch1\u003eAPI Changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003emem: Add experimental API \u003ccode\u003eSetDefaultBufferPool\u003c/code\u003e to\nchange the default buffer pool. (\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8806\"\u003e#8806\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eSpecial Thanks: \u003ca\nhref\u003d\"https://github.com/vanja-p\"\u003e\u003ccode\u003e@​vanja-p\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eexperimental/stats: Update \u003ccode\u003eMetricsRecorder\u003c/code\u003e to require\nembedding the new \u003ccode\u003eUnimplementedMetricsRecorder\u003c/code\u003e (a no-op\nstruct) in all implementations for forward compatibility. (\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8780\"\u003e#8780\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBehavior Changes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ebalancer/weightedtarget: Remove handling of \u003ccode\u003eAddresses\u003c/code\u003e\nand only handle \u003ccode\u003eEndpoints\u003c/code\u003e in resolver updates. (\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8841\"\u003e#8841\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eNew Features\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eexperimental/stats: Add support for asynchronous gauge metrics\nthrough the new \u003ccode\u003eAsyncMetricReporter\u003c/code\u003e and\n\u003ccode\u003eRegisterAsyncReporter\u003c/code\u003e APIs. (\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8780\"\u003e#8780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epickfirst: Add support for weighted random shuffling of endpoints,\nas described in \u003ca\nhref\u003d\"https://redirect.github.com/grpc/proposal/pull/535\"\u003egRFC A113\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eThis is enabled by default, and can be turned off using the\nenvironment variable\n\u003ccode\u003eGRPC_EXPERIMENTAL_PF_WEIGHTED_SHUFFLING\u003c/code\u003e. (\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8864\"\u003e#8864\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003exds: Implement \u003ccode\u003e:authority\u003c/code\u003e rewriting, as specified in \u003ca\nhref\u003d\"https://github.com/grpc/proposal/blob/master/A81-xds-authority-rewriting.md\"\u003egRFC\nA81\u003c/a\u003e. (\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8779\"\u003e#8779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebalancer/randomsubsetting: Implement the\n\u003ccode\u003erandom_subsetting\u003c/code\u003e LB policy, as specified in \u003ca\nhref\u003d\"https://github.com/grpc/proposal/blob/master/A68-random-subsetting.md\"\u003egRFC\nA68\u003c/a\u003e. (\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8650\"\u003e#8650\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eSpecial Thanks: \u003ca\nhref\u003d\"https://github.com/marek-szews\"\u003e\u003ccode\u003e@​marek-szews\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ecredentials/tls: Fix a bug where the port was not stripped from the\nauthority override before validation. (\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8726\"\u003e#8726\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eSpecial Thanks: \u003ca\nhref\u003d\"https://github.com/Atul1710\"\u003e\u003ccode\u003e@​Atul1710\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003exds/priority: Fix a bug causing delayed failover to lower-priority\nclusters when a higher-priority cluster is stuck in\n\u003ccode\u003eCONNECTING\u003c/code\u003e state. (\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8813\"\u003e#8813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ehealth: Fix a bug where health checks failed for clients using\nlegacy compression options (\u003ccode\u003eWithDecompressor\u003c/code\u003e or\n\u003ccode\u003eRPCDecompressor\u003c/code\u003e). (\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8765\"\u003e#8765\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eSpecial Thanks: \u003ca\nhref\u003d\"https://github.com/sanki92\"\u003e\u003ccode\u003e@​sanki92\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003etransport: Fix an issue where the HTTP/2 server could skip header\nsize checks when terminating a stream early. (\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8769\"\u003e#8769\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eSpecial Thanks: \u003ca\nhref\u003d\"https://github.com/joybestourous\"\u003e\u003ccode\u003e@​joybestourous\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eserver: Propagate status detail headers, if available, when\nterminating a stream during request header processing. (\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8754\"\u003e#8754\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eSpecial Thanks: \u003ca\nhref\u003d\"https://github.com/joybestourous\"\u003e\u003ccode\u003e@​joybestourous\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ePerformance Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ecredentials/alts: Optimize read buffer alignment to reduce copies.\n(\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8791\"\u003e#8791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emem: Optimize pooling and creation of \u003ccode\u003ebuffer\u003c/code\u003e objects.\n(\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8784\"\u003e#8784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etransport: Reduce slice re-allocations by reserving slice capacity.\n(\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8797\"\u003e#8797\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-go/commit/dda86dbd9cecb8b35b58c73d507d81d67761205f\"\u003e\u003ccode\u003edda86db\u003c/code\u003e\u003c/a\u003e\nChange version to 1.79.3 (\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8983\"\u003e#8983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-go/commit/72186f163e75a065c39e6f7df9b6dea07fbdeff5\"\u003e\u003ccode\u003e72186f1\u003c/code\u003e\u003c/a\u003e\ngrpc: enforce strict path checking for incoming requests on the server\n(\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8981\"\u003e#8981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-go/commit/97ca3522b239edf6813e2b1106924e9d55e89d43\"\u003e\u003ccode\u003e97ca352\u003c/code\u003e\u003c/a\u003e\nChanging version to 1.79.3-dev (\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8954\"\u003e#8954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-go/commit/8902ab6efea590f5b3861126559eaa26fa9783b2\"\u003e\u003ccode\u003e8902ab6\u003c/code\u003e\u003c/a\u003e\nChange the version to release 1.79.2 (\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8947\"\u003e#8947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-go/commit/a9286705aa689bee321ec674323b6896284f3e02\"\u003e\u003ccode\u003ea928670\u003c/code\u003e\u003c/a\u003e\nCherry-pick \u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8874\"\u003e#8874\u003c/a\u003e to\nv1.79.x (\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8904\"\u003e#8904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-go/commit/06df3638c0bcee88197b1033b3ba83e1eb8bc010\"\u003e\u003ccode\u003e06df363\u003c/code\u003e\u003c/a\u003e\nChange version to 1.79.2-dev (\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8903\"\u003e#8903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-go/commit/782f2de44f597af18a120527e7682a6670d84289\"\u003e\u003ccode\u003e782f2de\u003c/code\u003e\u003c/a\u003e\nChange version to 1.79.1 (\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8902\"\u003e#8902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-go/commit/850eccbb2257bd2de6ac28ee88a7172ab6175629\"\u003e\u003ccode\u003e850eccb\u003c/code\u003e\u003c/a\u003e\nChange version to 1.79.1-dev (\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8851\"\u003e#8851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-go/commit/765ff056b6890f6c8341894df4e9668e9bfc18ef\"\u003e\u003ccode\u003e765ff05\u003c/code\u003e\u003c/a\u003e\nChange version to 1.79.0 (\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8850\"\u003e#8850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-go/commit/68804be0e78ed0365bb5a576dedc12e2168ed63e\"\u003e\u003ccode\u003e68804be\u003c/code\u003e\u003c/a\u003e\nCherry pick \u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8864\"\u003e#8864\u003c/a\u003e to\nv1.79.x (\u003ca\nhref\u003d\"https://redirect.github.com/grpc/grpc-go/issues/8896\"\u003e#8896\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/grpc/grpc-go/compare/v1.71.0...v1.79.3\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dgoogle.golang.org/grpc\u0026package-manager\u003dgo_modules\u0026previous-version\u003d1.71.0\u0026new-version\u003d1.79.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the\n[Security Alerts\npage](https://github.com/bazel-contrib/bazel-gazelle/network/alerts).\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "ea863a980aabeedbd27e5af656de536c85a24108",
      "tree": "0ac0d2f6e6ed7bde74ac1cb8dec19464dc3634f3",
      "parents": [
        "aeb4220ad1752cb5aa0e877681010eb5448636f8"
      ],
      "author": {
        "name": "Robert Findley",
        "email": "rfindley@anthropic.com",
        "time": "Mon Mar 16 13:02:45 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 16 17:02:45 2026 +0000"
      },
      "message": "bzlmod: fix _noop arity for check_direct_dependencies \u003d \"off\" (#2305)\n\noutdated_direct_dep_printer defaults to print (variadic). Both call\nsites (go_deps.bzl:636, :660) pass multiple positional arguments. When\ncheck_direct_dependencies \u003d \"off\" swaps in _noop, the single-argument\nsignature fails with:\n\n  Error: _noop() accepts no more than 1 positional argument but got 5\n\ntests/bcr/go_work already has a circl bazel_dep (1.3.8) vs pkg/go.mod\n(1.6.1) version skew that fires the :636 path; setting\ncheck_direct_dependencies \u003d \"off\" there makes bazel build //... fail\nwithout this fix.\n\nFixes #2304\n\nCo-authored-by: Jay Conrod \u003cjay@engflow.com\u003e"
    },
    {
      "commit": "aeb4220ad1752cb5aa0e877681010eb5448636f8",
      "tree": "3bea04615a2fde04c2c4822caef16389dac5a2e0",
      "parents": [
        "40c2c73dbbe8bb669ff2ee54c0aca1bfcdb2a44b"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jay@engflow.com",
        "time": "Mon Mar 16 08:53:15 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 16 08:53:15 2026 -0700"
      },
      "message": "Add -version flag to print the current version (#2307)\n\n**What type of PR is this?**\n\n\u003e Feature\n\n**What package or component does this PR mostly affect?**\n\n\u003e v2/cmd/gazelle/update\n\n**What does this PR do? Why is it needed?**\n\nWhen set, Gazelle prints its version to stdout, then exits without doing\nanything else.\n\nThis flag is recognized by the fix/update commands, so usage can be\n\u0027gazelle -version\u0027 or \u0027gazelle update -version\u0027 but not \u0027gazelle\nupdate-repos -version\u0027. It feels awkward for v1, but I didn\u0027t want to\nadd a new \u0027version\u0027 subcommand because v2 doesn\u0027t have subcommands.\n\n**Which issues(s) does this PR fix?**\n\nFor #2272\nFixes #2288\n\n**Other notes for review**"
    },
    {
      "commit": "40c2c73dbbe8bb669ff2ee54c0aca1bfcdb2a44b",
      "tree": "642873ffe847884236221da3dec6991f3375b1c1",
      "parents": [
        "baca6fbbd606df4607e3caf213e65db8fd37ac80"
      ],
      "author": {
        "name": "Robert Findley",
        "email": "rfindley@golang.org",
        "time": "Thu Mar 12 19:01:04 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 12 16:01:04 2026 -0700"
      },
      "message": "bzlmod: allow non-default go.work file names (#2303)\n\nThe go command accepts any file as a workspace file via the GOWORK\nenvironment variable, and writes checksums to a sibling file with a .sum\nsuffix (e.g. GOWORK\u003dgo.bazel.work produces go.bazel.work.sum).\n\ngo_deps.from_file(go_work \u003d ...) currently rejects any name other than\ngo.work, and hardcodes go.work.sum as the sum file name. This is\nstricter than the go command itself. Notably, go_work_from_label already\naccepts any name; only the sum-file path checks.\n\nRemove the name check and derive the sum file name from the work file\nname.\n\nA non-default name is useful when a repository wants a Bazel-only\nworkspace that the go toolchain won\u0027t auto-discover (the toolchain walks\nup directories looking specifically for go.work), so native go builds\nremain unaffected by the Bazel workspace configuration.\n\n**What type of PR is this?**\n\n Bug fix\n\n**What package or component does this PR mostly affect?**\n\ngo_repository\n\n**What does this PR do? Why is it needed?**\n\n**Which issues(s) does this PR fix?**\n\nFixes #2302\n\n**Other notes for review**"
    },
    {
      "commit": "baca6fbbd606df4607e3caf213e65db8fd37ac80",
      "tree": "a5cdd38a6c3c4245994504bcbd953cb966b224c4",
      "parents": [
        "f254bbb84e6c86a5db76a97b76aef4039eaf0305"
      ],
      "author": {
        "name": "Mateusz Olczyk",
        "email": "molczyk@virtuslab.com",
        "time": "Wed Mar 11 19:13:09 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 11 11:13:09 2026 -0700"
      },
      "message": "Fix MergeDict() logic for empty lists (#2301)\n\n\u003c!-- Thanks for sending a PR! Before submitting:\n\n1. If this is your first PR, please read CONTRIBUTING.md and sign the\nCLA\n   first. We cannot review code without a signed CLA.\n2. Please file an issue *first*. All features and most bug fixes should\nhave\nan associated issue with a design discussed and decided upon. Small bug\n   fixes and documentation improvements don\u0027t need issues.\n3. New features and bug fixes must have tests. Documentation may need to\nbe updated. If you\u0027re unsure what to update, send the PR, and we\u0027ll\ndiscuss\n   in review.\n--\u003e\n\n**What type of PR is this?**\n\n\u003e Bug fix\n\n**What package or component does this PR mostly affect?**\n\n\u003e rule\n\n**What does this PR do? Why is it needed?**\n\n`MergeDict()` won\u0027t drop explicit empty lists. It\u0027s needed to properly\nmerge `select` expressions without breaking the semantics.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2300\n\n**Other notes for review**\n\n---------\n\nSigned-off-by: Mateusz Olczyk \u003cmolczyk@virtuslab.com\u003e"
    },
    {
      "commit": "f254bbb84e6c86a5db76a97b76aef4039eaf0305",
      "tree": "65622190b6d0acfaf582fe349a18d975711b4f70",
      "parents": [
        "a1055c5e56fd985bdc23f387107dcd5be833c14b"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jay@engflow.com",
        "time": "Mon Mar 09 08:05:15 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 08:05:15 2026 -0700"
      },
      "message": "go_repository_tools: build v2/cmd/gazelle (#2299)\n\n**What type of PR is this?**\n\n\u003e Other\n\n**What package or component does this PR mostly affect?**\n\n\u003e go_repository_tools\n\n**What does this PR do? Why is it needed?**\n\n`go_repository_tools` now builds `v2/cmd/gazelle` instead of\n`cmd/gazelle`. This should cause no observable difference in behavior,\nit\u0027s just the new entry point for the same code.\n\n**Which issues(s) does this PR fix?**\n\nFor #2272\n\n**Other notes for review**"
    },
    {
      "commit": "a1055c5e56fd985bdc23f387107dcd5be833c14b",
      "tree": "b26def48c04031daf657c4b3f79af5bc4c421d08",
      "parents": [
        "a3e63b06e1e5c4c7a7849874fadf7ccda8868870"
      ],
      "author": {
        "name": "Lars Lehtonen",
        "email": "lars.lehtonen@gmail.com",
        "time": "Mon Mar 02 11:46:10 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 02 14:46:10 2026 -0500"
      },
      "message": "cmd/fetch_repo: fix dropped error (#2298)\n\n**What type of PR is this?**\n\nBug fix\n\n**What package or component does this PR mostly affect?**\n\n/cmd/fetch_repo/\n\n**What does this PR do? Why is it needed?**\n\nThis fixes an err variable that was dropped and unhandled.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2297.\n\nSigned-off-by: Lars Lehtonen \u003clars.lehtonen@gmail.com\u003e"
    },
    {
      "commit": "a3e63b06e1e5c4c7a7849874fadf7ccda8868870",
      "tree": "924ce86464d3d232496f68791aa344043010a2e1",
      "parents": [
        "a8d8f4c666a35afed0b322a869e2b2d57e98beac"
      ],
      "author": {
        "name": "Mateusz Olczyk",
        "email": "molczyk@virtuslab.com",
        "time": "Thu Feb 26 16:34:28 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 26 07:34:28 2026 -0800"
      },
      "message": "Implement Rule.AttrBool() method (#2295)\n\n**What type of PR is this?**\n\n\u003e Feature\n\n**What package or component does this PR mostly affect?**\n\n\u003e rule\n\n**What does this PR do? Why is it needed?**\n\n`Rule` already has methods like `AttrString` or `AttrStrings`. Boolean\nvalues are another common attribute type in Bazel rules. As a developer\nof a `gazelle` extension, I\u0027d appreciate having this as a part of the\n`Rule` interface instead of having to write side helper functions.\n\n**Which issues(s) does this PR fix?**\n\nI have not created an issue for such a simple task.\n\n**Other notes for review**\n\n---------\n\nSigned-off-by: Mateusz Olczyk \u003cmolczyk@virtuslab.com\u003e"
    },
    {
      "commit": "a8d8f4c666a35afed0b322a869e2b2d57e98beac",
      "tree": "73dbfa21bf3c2c2e0069ce2eacf5f2a63d9e1016",
      "parents": [
        "95527eb554450622f119c9bfd687a954d05c4d92"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jay@engflow.com",
        "time": "Tue Feb 24 11:50:41 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 24 11:50:41 2026 -0800"
      },
      "message": "tests: convert most remaining integration tests (#2294)\n\n**What type of PR is this?**\n\n\u003e Other\n\n**What package or component does this PR mostly affect?**\n\n\u003e tests\n\n**What does this PR do? Why is it needed?**\n\nConvert tests that weren\u0027t converted earlier by #2293 and remove the\ncorresponding old integration tests.\n\nThe remaining integration tests can\u0027t be converted because they aren\u0027t\ncompatible with the directory test framework. Most of them cover\n`update-repos`, which isn\u0027t supported there and won\u0027t be supported in v2\nanyway. A few tests have excessively long names or subtests, and\nrunfiles couldn\u0027t be accessed on Windows.\n\n**Which issues(s) does this PR fix?**\n\nFor #2272\n\n**Other notes for review**"
    },
    {
      "commit": "95527eb554450622f119c9bfd687a954d05c4d92",
      "tree": "c7ec2993167350c361ca731128bd0a51340b9b1a",
      "parents": [
        "76b0b0c69040bb39f74ea99cbf965fb2405ac501"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jay@engflow.com",
        "time": "Mon Feb 23 09:50:32 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 23 09:50:32 2026 -0800"
      },
      "message": "tests: convert some integration tests to gazelle_generation_test (#2293)\n\n**What type of PR is this?**\n\n\u003e Other\n\n**What package or component does this PR mostly affect?**\n\n\u003e tests\n\n**What does this PR do? Why is it needed?**\n\nConverts some of the tests from `cmd/gazelle/integration_test.go` to\ntest directories in //tests. This allows tests to be run against both v1\nand v2 to guard against unexpected changes.\n\n**Which issues(s) does this PR fix?**\n\nFor #2272\n\n**Other notes for review**"
    },
    {
      "commit": "76b0b0c69040bb39f74ea99cbf965fb2405ac501",
      "tree": "6d6a3d0450bec43074eccc9ed3120c6c2296f431",
      "parents": [
        "72178d158128f4ecfabca32c081a2396bd2ba001"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jay@engflow.com",
        "time": "Mon Feb 23 09:27:21 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 23 09:27:21 2026 -0800"
      },
      "message": "gazelle_binary: support either v1 or v2 (#2281)\n\n**What type of PR is this?**\n\n\u003e Other\n\n**What package or component does this PR mostly affect?**\n\n\u003e gazelle_binary\n\n**What does this PR do? Why is it needed?**\n\ngazelle_binary accepts a \"version\" attribute, used to select between\neither the ./cmd/gazelle or ./v2/cmd/gazelle main package. The default\nis determined by Gazelle\u0027s module version.\n\n//tests now has separate gazelle_binary targets and test targets for\neach version so that we don\u0027t regress either v1 or v2.\n\n**Which issues(s) does this PR fix?**\n\nFor #2272\n\n**Other notes for review**"
    },
    {
      "commit": "72178d158128f4ecfabca32c081a2396bd2ba001",
      "tree": "4aad30b62a51636371618394523446ca42cf4d38",
      "parents": [
        "6b2aeccd77d2668a21202f5b60e10b035419c61a"
      ],
      "author": {
        "name": "Mateusz Olczyk",
        "email": "molczyk@virtuslab.com",
        "time": "Fri Feb 20 19:01:12 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 20 18:01:12 2026 +0000"
      },
      "message": "Switch to \"protobuf\" module when generating proto_library rules (#2284)\n\n**What type of PR is this?**\n\n\u003e Other\n\n**What package or component does this PR mostly affect?**\n\n\u003e language/proto\n\n**What does this PR do? Why is it needed?**\n\nBecause `\"rules_proto\"` is a deprecated module, `proto_library` rule\nshould be fetched from the `\"protobuf\"` module. This change updates\n`ApparentLoads()` method for `proto` extension and updates the test\nscenarios accordingly. Moreover, `rules_proto` is not mentioned in\n`README.md` anymore; now it refers to `protobuf`.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2283 \n\n**Other notes for review**\n\nI wasn\u0027t sure if `\"rules_proto\"` should also be removed from\n`MODULE.bazel`. It looks like `bazel test //...` passes after removing\nboth `\"rules_proto\"` and `\"protobuf\"` from `MODULE.bazel`. But I see\nthose may be required by the submodules: `tests/bcr/go_mod` and\n`tests/bcr/go_work`.\n\n---------\n\nSigned-off-by: Mateusz Olczyk \u003cmolczyk@virtuslab.com\u003e\nCo-authored-by: Jay Conrod \u003cjayconrod@gmail.com\u003e\nCo-authored-by: Jay Conrod \u003cjay@engflow.com\u003e"
    },
    {
      "commit": "6b2aeccd77d2668a21202f5b60e10b035419c61a",
      "tree": "bf0b287fb4ede5b5a9790cdb27a3b19af70e7b16",
      "parents": [
        "09f3d81efd98c34f1ac2bea2449a618d11e32f25"
      ],
      "author": {
        "name": "Dustin J. Mitchell",
        "email": "dustin@v.igoro.us",
        "time": "Fri Feb 13 13:04:59 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 13 10:04:59 2026 -0800"
      },
      "message": "(docs) Note that an extension is required for default_visibility (#2287)\n\n**What type of PR is this?**\n\n\u003e Uncomment one line below and remove others.\n\u003e\n\u003e Bug fix\n\u003e Feature\nDocumentation\n\u003e Other\n\n**What package or component does this PR mostly affect?**\n\n\u003e For example:\n\u003e\n\u003e language/go\n\u003e cmd/gazelle\n\u003e go_repository\nall\n\n**What does this PR do? Why is it needed?**\n\nAdds a note that an extension is required in order to use the\ndefault_visibility directive. I was unaware of this and that led to\n#2285. I do not see the extension referenced in any other documentation\nin the repo.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2285.\n\n**Other notes for review**\n\nThis file only references language extensions, and from a user\nperspective my thinking was, \"I have the Go extension installed, so what\nmore do I need?\"\n\nIf it would be better to add some kind of `**Required Extension:** to\neach directive, I can do that, especially with help to figure out which\nextension each one requires."
    },
    {
      "commit": "09f3d81efd98c34f1ac2bea2449a618d11e32f25",
      "tree": "d3d8a8d3b0b7498ea8fe99376ec7e62339b149c9",
      "parents": [
        "b5b771c3d310c54a07ee786a60c607ef2699a5bd"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "grrtrr@users.noreply.github.com",
        "time": "Tue Feb 03 12:19:24 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 03 12:19:24 2026 -0500"
      },
      "message": "resolve: use a fallback RepoName for overrides (#2270)\n\n_PR type_:  bug fix\n_Scope_: resolve overrides (all languages)\n\n### Why this PR?\n\nAs discussed in #2269, when an override does not set an explicit\nrepository name, use the configured one instead.\n\nThis avoids problems in resolving package-local labels.\n\n### Description of changes\n\nSubstitute the configured `RepoName` when resolving overrides\n(`resolve/resolve_regexp`), and for `go` targets and the resolved\n`Label.Repo` is empty.\n\n---------\n\nCo-authored-by: Jay Conrod \u003cjay@engflow.com\u003e"
    },
    {
      "commit": "b5b771c3d310c54a07ee786a60c607ef2699a5bd",
      "tree": "a4a8061f08d16b870bce207fbe1c59989f278dbd",
      "parents": [
        "42f187adf6607cd646706115212bced8330af1af"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jay@engflow.com",
        "time": "Wed Jan 28 14:13:09 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 28 22:13:09 2026 +0000"
      },
      "message": "v2: add v2/cmd/gazelle (#2277)\n\n**What type of PR is this?**\n\n\u003e Other\n\n**What package or component does this PR mostly affect?**\n\n\u003e v2/cmd/gazelle\n\n**What does this PR do? Why is it needed?**\n\nThe new entry point for v2. It just wraps update.Run. Doesn\u0027t need to do\nmuch more than that.\n\n**Which issues(s) does this PR fix?**\n\nFor #2272\n\n**Other notes for review**"
    },
    {
      "commit": "42f187adf6607cd646706115212bced8330af1af",
      "tree": "dca84c877d53c516413a15fb001136b4bd6d30dc",
      "parents": [
        "7b9d7f36a9278df5637cdb82f660c46b8df2aae4"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jay@engflow.com",
        "time": "Wed Jan 28 13:41:13 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 28 21:41:13 2026 +0000"
      },
      "message": "v2: extract fix-update logic to v2/cmd/gazelle/update (#2276)\n\n**What type of PR is this?**\n\n\u003e Other\n\n**What package or component does this PR mostly affect?**\n\n\u003e v2/cmd/gazelle/update\n\n**What does this PR do? Why is it needed?**\n\nThis new package now implements Gazelle\u0027s core fix/update functionality.\ncmd/gazelle and v2/cmd/gazelle will both we wrappers around this, though\nthe update-repos command will remain in v1, since we\u0027re dropping it in\nv2.\n\nAlso modifed go_repository_tools to work in module mode, since it would\nactually require deeper changes to continue working in GOPATH mode.\n\n**Which issues(s) does this PR fix?**\n\nFor #2272\n\n**Other notes for review**\n\nAlso copied `internal/wspace`. It\u0027s an internal package, so it can\u0027t be\nmoved and forwarded unfortunately."
    },
    {
      "commit": "7b9d7f36a9278df5637cdb82f660c46b8df2aae4",
      "tree": "74dc5de38a54c990584719deb4a251765d47cfb7",
      "parents": [
        "2f939c7503fd8ada7ef9fa861ac9c7a936037c90"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jay@engflow.com",
        "time": "Tue Jan 27 13:18:46 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 27 21:18:46 2026 +0000"
      },
      "message": "v2: add v2/go.mod, go.work (#2275)\n\n**What type of PR is this?**\n\n\u003e Other\n\n**What package or component does this PR mostly affect?**\n\n\u003e all\n\n**What does this PR do? Why is it needed?**\n\ngo.work is unrelated to the Bazel build. It keeps my editor happy\nwithout gopackagesdriver. Bazel needs to rebuild all of gazelle after\nevery change via go_repository_tools, so gopackagesdriver isn\u0027t really\nusable.\n\n**Which issues(s) does this PR fix?**\n\nFor #2272\n\n**Other notes for review**"
    },
    {
      "commit": "2f939c7503fd8ada7ef9fa861ac9c7a936037c90",
      "tree": "c10b8d94a572daf67030eba7f1e273941fe6f8d8",
      "parents": [
        "3234826a5db2d5fa7b171dbb2a4be4a3e62ad11c"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jay@engflow.com",
        "time": "Tue Jan 27 13:08:21 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 27 13:08:21 2026 -0800"
      },
      "message": "Upgrade Go to 1.24.12, rules_go to 0.59.0, and sync deps to WORKSPACE (#2274)\n\n**What type of PR is this?**\n\n\u003e Other\n\n**What package or component does this PR mostly affect?**\n\n\u003e all\n\n**What does this PR do? Why is it needed?**\n\n- Go is still a pretty old version, but a year newer than what we had\nbefore. This gives us fancy range loops.\n- rules_go is now the latest version, needed to resolve some nogo issues\nin WORKSPACE mode, though I\u0027m not sure if it was actually a rules_go\nproblem or upgrading the ancient version of x/tools we were on.\n- Synced dependencies from go.mod / MODULE.bazel to WORKSPACE. These had\ncompletely diverged.\n- Removed some apparently unused compatibility definitions referencing\nmultiple versions of Go.\n- Disabled Stardoc targets in WORKSPACE mode. They no longer build due\nto some hidden dependency on rules_cc. Don\u0027t care.\n\n**Which issues(s) does this PR fix?**\n\nFor #2272\n\n**Other notes for review**"
    },
    {
      "commit": "3234826a5db2d5fa7b171dbb2a4be4a3e62ad11c",
      "tree": "14655f04278a8d3032a5cacb06b1755fe660944b",
      "parents": [
        "a854abf8365145fc14cad7948d2b45dcb7a20f23"
      ],
      "author": {
        "name": "Will Noble",
        "email": "4642422+ouillie@users.noreply.github.com",
        "time": "Mon Jan 26 01:22:25 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 26 07:22:25 2026 +0100"
      },
      "message": "Disable proto library generation for protocompile (#2278)\n\n\u003c!-- Thanks for sending a PR! Before submitting:\n\n1. If this is your first PR, please read CONTRIBUTING.md and sign the\nCLA\n   first. We cannot review code without a signed CLA.\n2. Please file an issue *first*. All features and most bug fixes should\nhave\nan associated issue with a design discussed and decided upon. Small bug\n   fixes and documentation improvements don\u0027t need issues.\n3. New features and bug fixes must have tests. Documentation may need to\nbe updated. If you\u0027re unsure what to update, send the PR, and we\u0027ll\ndiscuss\n   in review.\n--\u003e\n\n**What type of PR is this?**\n\nBug fix\n\n**What package or component does this PR mostly affect?**\n\ncmd/gazelle\n\n**What does this PR do? Why is it needed?**\n\n`github.com/bufbuild/protocompile` bundles well-known .proto files under\n`wellknownimports/google/`, which is conflicting with the\n`go_proto_library` targets that Gazelle wanted to generate.\n\n**Which issues(s) does this PR fix?**\n\nAddresses https://github.com/bazel-contrib/bazel-gazelle/issues/2029\nalthough that issue technically was asking for something else.\n\n**Other notes for review**"
    },
    {
      "commit": "a854abf8365145fc14cad7948d2b45dcb7a20f23",
      "tree": "2a161bd345c199e0c217e0ac24ffe83c8150a43c",
      "parents": [
        "c2a2ca85d7ee59cae07357faaba07174c1231cad"
      ],
      "author": {
        "name": "Marcel",
        "email": "maleo@google.com",
        "time": "Fri Jan 23 17:31:24 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 23 08:31:24 2026 -0800"
      },
      "message": "Add proto compiler for grpc libraries (#2271)\n\n**What type of PR is this?**\n\nBug fix\n\n**What package or component does this PR mostly affect?**\n\nlanguage/go\n\n**What does this PR do? Why is it needed?**\n\nThe go_grpc compiler generated both proto and grpc bindings. The\ngo_grpc_v2 compiler only generates the grpc bindings but requires\nexplicit use of go_proto for the proto bindings.\n\nThis change in behavior was missed in #2071.\n\n**Which issues(s) does this PR fix?**\n\n**Other notes for review**"
    },
    {
      "commit": "c2a2ca85d7ee59cae07357faaba07174c1231cad",
      "tree": "6a21c47e94aa5efd4d1aaa919da2684e28c1473e",
      "parents": [
        "ff2b7cf16314b7571bba6e7c2aafad59a31b7370"
      ],
      "author": {
        "name": "Fabian Meumertzheim",
        "email": "fabian@meumertzhe.im",
        "time": "Mon Jan 12 19:50:03 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 12 19:50:03 2026 +0100"
      },
      "message": "Fix the lockfile and let it update locally (#2263)\n\n**What type of PR is this?**\n\nOther\n\n**What package or component does this PR mostly affect?**\n\ndeveloper experience\n\n**What does this PR do? Why is it needed?**\n\n**Which issues(s) does this PR fix?**\n\n**Other notes for review**"
    },
    {
      "commit": "ff2b7cf16314b7571bba6e7c2aafad59a31b7370",
      "tree": "12b189014e64d0cb8972a9e9f19e431b69f694bb",
      "parents": [
        "58be1038215b0cff6604a1d31f45ae3770a99a75"
      ],
      "author": {
        "name": "sohumk-stripe",
        "email": "sohumk@stripe.com",
        "time": "Tue Jan 06 20:09:21 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 06 17:09:21 2026 -0800"
      },
      "message": "Add check to see if testdata is empty when determining when to add data (#2262)\n\n**What type of PR is this?**\n\nBug fix\n\n**What package or component does this PR mostly affect?**\n\nlanguage/go\n\n**What does this PR do? Why is it needed?**\n\nAdds logic to check that a testdata subdirectory is not empty before\nadding it as a data source.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2233"
    },
    {
      "commit": "58be1038215b0cff6604a1d31f45ae3770a99a75",
      "tree": "171763808c7b3e80cbcfcf5ce7083169a959b6d8",
      "parents": [
        "fdb8a9553bbf0ca384516d49366030e294e21262"
      ],
      "author": {
        "name": "Eric Boren",
        "email": "borenet@gmail.com",
        "time": "Fri Dec 19 16:30:57 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 19 21:30:57 2025 +0000"
      },
      "message": "Add default Gazelle override for go.chromium.org/luci (#2259)\n\n**What type of PR is this?**\nBug fix\n\n**What package or component does this PR mostly affect?**\ninternal/bzlmod/default_gazelle_overrides.bzl\n\n**What does this PR do? Why is it needed?**\nTurns off Gazelle generation of go_proto_library targets for\ngo.chromium.org/luci. The repository includes the generated files, so\nthese targets are unnecessary and they produce errors.\n\n**Which issues(s) does this PR fix?**\nN/A\n\n**Other notes for review**\n\n---------\n\nCo-authored-by: Jay Conrod \u003cjay@engflow.com\u003e"
    },
    {
      "commit": "fdb8a9553bbf0ca384516d49366030e294e21262",
      "tree": "820be87c398208b85ac58536da0539e5c79dcb75",
      "parents": [
        "b99e3476f62f765ddccf25b24bb570f6fa9248a6"
      ],
      "author": {
        "name": "Eric Boren",
        "email": "borenet@gmail.com",
        "time": "Fri Dec 19 15:43:02 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 19 21:43:02 2025 +0100"
      },
      "message": "Add remote-apis-sdks to DEFAULT_BUILD_FILE_GENERATION_BY_PATH (#2260)\n\nThis repository contains references to @go_googleapis, which is no\nlonger pulled in by rules_go as of v0.41.0. Other rules seem to be\noutdated as well, and I have been unable to fix this with a simple\ninject_repo.\n\nA gazelle_override with `build_file_generation \u003d \"on\"` fixes the problem\nfor us by paving over the outdated BUILD.bazel files with new,\nfunctional ones.\n\nWe have other repos which need to depend on our module, so the local\ngazelle_override is not viable. We either need to fix the BUILD.bazel\nfiles upstream (it looks like this has been attempted at least a couple\nof times) or add this setting to the defaults.\n\n**What type of PR is this?**\nBug fix\n\n**What package or component does this PR mostly affect?**\ninternal/bzlmod/default_gazelle_overrides.bzl\n\n**What does this PR do? Why is it needed?**\nCauses build_file_generation to be enabled for\ngithub.com/bazelbuild/remote-apis-sdks. The repository already contains\nBUILD.bazel files, but they are outdated and broken with newer versions\nof rules_go.\n\n**Which issues(s) does this PR fix?**\nN/A\n\n**Other notes for review**"
    },
    {
      "commit": "b99e3476f62f765ddccf25b24bb570f6fa9248a6",
      "tree": "42fd1c6a4c4219ded5c82c6dac552562ac80e2dc",
      "parents": [
        "0ebe7d8b2a4eb98993f4797fd9fdaa3c8012a99a"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jay@engflow.com",
        "time": "Thu Dec 18 10:41:33 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 18 18:41:33 2025 +0000"
      },
      "message": "docs: added explanation on how the merger works (#2255)\n\n**What type of PR is this?**\n\n\u003e Documentation\n\n**What package or component does this PR mostly affect?**\n\n\u003e all\n\n**What does this PR do? Why is it needed?**\n\n- How extensions generate rules\n- How the merger combines existing and generated rules\n- Examples\n- keep comments and parser subtleties\n\n**Which issues(s) does this PR fix?**\n\nFor #2196\n\n**Other notes for review**\n\n---------\n\nCo-authored-by: Nikki Vijaybhaskar \u003cnikki@engflow.com\u003e"
    },
    {
      "commit": "0ebe7d8b2a4eb98993f4797fd9fdaa3c8012a99a",
      "tree": "7fdf3e4d1bc2509aa6b4ce51425e05ab87f8079e",
      "parents": [
        "b8a73bc7468c622d1675443ead1d1e146b26dc28"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jay@engflow.com",
        "time": "Wed Dec 17 11:50:05 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 17 11:50:05 2025 -0800"
      },
      "message": "walk: assert that RelsToIndex strings are clean and relative (#2258)\n\n**What type of PR is this?**\n\n\u003e Bug fix\n\n**What package or component does this PR mostly affect?**\n\n\u003e walk\n\n**What does this PR do? Why is it needed?**\n\nAssertions make it a bit easier to track down bugs like\nEngFlow/gazelle_cc#165.\n\n**Which issues(s) does this PR fix?**\n\nn/a\n\n**Other notes for review**"
    },
    {
      "commit": "b8a73bc7468c622d1675443ead1d1e146b26dc28",
      "tree": "08f0f7b021e285636ffa57f494083baa6e9e1538",
      "parents": [
        "3696f8cccfebe2bc8248b3b5977edccbb4ee7bb9"
      ],
      "author": {
        "name": "Ammar Elsabe",
        "email": "ammar.elsabe@riv-capital.com",
        "time": "Wed Dec 17 19:05:01 2025 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 17 16:05:01 2025 +0100"
      },
      "message": "fix(language/go): ignored goexperiment build tag typo (#2257)\n\n**What type of PR is this?**\n\nBug fix\n\n**What package or component does this PR mostly affect?**\n\nlanguage/go\n\n**What does this PR do? Why is it needed?**\n\nIt fixes my typo\n\n**Which issues(s) does this PR fix?**\n\nFixes #2256\n\n**Other notes for review**\n\n(sorry)"
    },
    {
      "commit": "3696f8cccfebe2bc8248b3b5977edccbb4ee7bb9",
      "tree": "78c6f0a62c2d88bae621d69ac6f69810f11f3180",
      "parents": [
        "093359a493d953167654a46020c58ae3362f45c0"
      ],
      "author": {
        "name": "Ammar Elsabe",
        "email": "ayasser763@gmail.com",
        "time": "Sun Dec 14 22:08:49 2025 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Dec 14 19:08:49 2025 +0100"
      },
      "message": "fix: ignore goexperiments build tags (#2254)\n\n**What type of PR is this?**\n\nBug fix\n\n\n**What package or component does this PR mostly affect?**\n\nlanguage/go\n\n**What does this PR do? Why is it needed?**\n\n**Which issues(s) does this PR fix?**\n\nFixes #2227\n\n**Other notes for review**"
    },
    {
      "commit": "093359a493d953167654a46020c58ae3362f45c0",
      "tree": "6a1e3fa5f72bf30400d763d0148243b188037574",
      "parents": [
        "2762427aceb5875dcdaecb5b6a1406f3d116fd0d"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jay@engflow.com",
        "time": "Mon Dec 08 10:54:36 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 08 10:54:36 2025 -0800"
      },
      "message": "docs: rewrite design explanation (#2251)\n\n**What type of PR is this?**\n\n\u003e Documentation\n\n**What package or component does this PR mostly affect?**\n\n\u003e all\n\n**What does this PR do? Why is it needed?**\n\nReplace Design.md with how-gazelle-works.md, a complete rewrite.\n\nThe old page was written before extensions, so was very obsolete.\n\nThe new page is intended to be an Explanation (https://diataxis.fr/) to\nhelp Gazelle developers and extension authors.\n\n**Which issues(s) does this PR fix?**\n\nFor #2196\n\n**Other notes for review**\n\n---------\n\nCo-authored-by: Nikki Vijaybhaskar \u003cnikki@engflow.com\u003e\nCo-authored-by: Fabian Meumertzheim \u003cfabian@meumertzhe.im\u003e"
    },
    {
      "commit": "2762427aceb5875dcdaecb5b6a1406f3d116fd0d",
      "tree": "e8d21b21aeaae5e952a08b93af96fe82080402fd",
      "parents": [
        "dedce651119811c869d4db4a20290c87b4dc8d8e"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jay@engflow.com",
        "time": "Fri Dec 05 17:08:26 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 05 17:08:26 2025 -0800"
      },
      "message": "docs: split reference material onto different pages (#2250)\n\n**What type of PR is this?**\n\n\u003e Documentation\n\n**What package or component does this PR mostly affect?**\n\n\u003e all\n\n**What does this PR do? Why is it needed?**\n\nMoved several sections out of the main README onto separate pages:\n\n- gazelle-reference.md: a language-agnostic reference for commands,\n  directives, and commandline-line flags.\n- language/go/reference.md: a reference for Go-specific directives,\n  flags, and fix command transformations. The `update-repos` command\n  is now documented here since it has no useful functionality for\n  other languages.\n- language/proto/reference.md: a reference for Proto-specific\n  directives and flags.\n\nI\u0027m hoping this makes the main README more digestible, though there\u0027s\nstill a lot of improvement needed there.\n\n**Which issues(s) does this PR fix?**\n\nFor #2196\n\n**Other notes for review**"
    },
    {
      "commit": "dedce651119811c869d4db4a20290c87b4dc8d8e",
      "tree": "4091b040889c17ad2198f947fae606e438f75337",
      "parents": [
        "6dc11189e370b7950936e34141ffe2f2e116c62a"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jayconrod@gmail.com",
        "time": "Fri Dec 05 15:31:05 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 05 15:31:05 2025 -0800"
      },
      "message": "README: fix broken links to JS, Kotlin extensions (#2199)\n\nFor #2196\n\n**What type of PR is this?**\n\n\u003e Documentation\n\n**What package or component does this PR mostly affect?**\n\nREADME\n\n**What does this PR do? Why is it needed?**\n\nFix broken links to JS, Kotlin extensions. They were moved into a new\nrepo in preparation for publishing as separate Bazel modules.\n\n**Which issues(s) does this PR fix?**\n\nFor #2196\n\n**Other notes for review**\n\nLet me know if there should be any other change in wording."
    },
    {
      "commit": "6dc11189e370b7950936e34141ffe2f2e116c62a",
      "tree": "f319801a1f2629b50280b15a08c218c0bdfcfe2b",
      "parents": [
        "c43f201c49428454f8f079c8f0cdf21820aaa450"
      ],
      "author": {
        "name": "Keith Smiley",
        "email": "keithbsmiley@gmail.com",
        "time": "Fri Dec 05 15:18:03 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 05 15:18:03 2025 -0800"
      },
      "message": "Add default_features directive (#2247)\n\nThis sets the `package(features \u003d ...)` attribute in all nested BUILD\nfiles similar to `default_visibility`\n\nFixes https://github.com/bazel-contrib/bazel-gazelle/issues/2236\n\n---------\n\nCo-authored-by: Jay Conrod \u003cjay@engflow.com\u003e"
    },
    {
      "commit": "c43f201c49428454f8f079c8f0cdf21820aaa450",
      "tree": "0a2aab695fbe4391df479bb72fbda62ba7667372",
      "parents": [
        "028c500e9f911a73683b6ec390f3e59e8f31fccc"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jayconrod@gmail.com",
        "time": "Fri Dec 05 15:01:01 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 05 23:01:01 2025 +0000"
      },
      "message": "cmd/autogazelle/README: translate from reStructuredText to Markdown (#2200)\n\nFor #2196\n\n**What type of PR is this?**\n\n\u003e Documentation\n\n**What package or component does this PR mostly affect?**\n\n\u003e cmd/autogazelle\n\n**What does this PR do? Why is it needed?**\n\nTranslates documentation from reStructuredText to Markdown for easier\nediting.\n\n**Which issues(s) does this PR fix?**\n\nFor #2196\n\n**Other notes for review**"
    },
    {
      "commit": "028c500e9f911a73683b6ec390f3e59e8f31fccc",
      "tree": "b1265e9cddc000db4fd0a5c3e4a238380dd5cd95",
      "parents": [
        "0c712d1012f1644fe86ba46ff023a03033bd40c0"
      ],
      "author": {
        "name": "Keith Smiley",
        "email": "keithbsmiley@gmail.com",
        "time": "Wed Dec 03 10:36:34 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 03 10:36:34 2025 -0800"
      },
      "message": "Insert package() at the top of the file (#2249)\n\nThis is a different approach to\nhttps://github.com/bazel-contrib/bazel-gazelle/pull/1458"
    },
    {
      "commit": "0c712d1012f1644fe86ba46ff023a03033bd40c0",
      "tree": "dedd56536e037a797accdb2d98ce949a50506172",
      "parents": [
        "2250eaa251d01ee95cd4155d8a48ebea7860681c"
      ],
      "author": {
        "name": "Keith Smiley",
        "email": "keithbsmiley@gmail.com",
        "time": "Tue Dec 02 22:52:18 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 03 06:52:18 2025 +0000"
      },
      "message": "Fix exports_files and package conflicts (#2248)\n\nThis was caused because both rules have an empty name. Now the empty\nname is ignored for deduping.\n\nFixes https://github.com/bazel-contrib/bazel-gazelle/issues/2246"
    },
    {
      "commit": "2250eaa251d01ee95cd4155d8a48ebea7860681c",
      "tree": "73dd7766d104c46372e776d9de6448d01f953972",
      "parents": [
        "46abfc06ad7b03338e3ad38cb533f6de10469b4e"
      ],
      "author": {
        "name": "David Zbarsky",
        "email": "dzbarsky@gmail.com",
        "time": "Tue Dec 02 11:53:40 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 02 16:53:40 2025 +0000"
      },
      "message": "Add Glob.AllowsEmpty (#2245)\n\n**What type of PR is this?**\nFeature\n\n**What package or component does this PR mostly affect?**\nall\n\n**What does this PR do? Why is it needed?**\nThis makes it easier to emit standardized globs from gazelle languages\nwithout complex logic to verify the exact set of patterns needed.\n(Especially since merging globs doesn\u0027t seem to work correctly in all\ncases)\n\nWhile here, I tweaked how we emit True/False literals to align with how\nthey\u0027re parsed by `buildtools`, otherwise we had to handle multiple ways\nto parse `allow_empty \u003d True` (both Literal and Ident). I can revert\nthis bit if we think it\u0027s unsafe or was done like this intentionally,\nbut it felt like matching what the parser itself would emit is better\n\n**Which issues(s) does this PR fix?**\n\nFixes #\n\n**Other notes for review**\n\nCo-authored-by: Jay Conrod \u003cjay@engflow.com\u003e"
    },
    {
      "commit": "46abfc06ad7b03338e3ad38cb533f6de10469b4e",
      "tree": "7c673f883b5028e0a1259a004ed6f097e402745c",
      "parents": [
        "cb5dab0b54b52f3dcc2d9c8b7ab936b47aba63ff"
      ],
      "author": {
        "name": "Peter Cardenas",
        "email": "16930781+PeterCardenas@users.noreply.github.com",
        "time": "Tue Dec 02 08:00:27 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 02 08:00:27 2025 -0800"
      },
      "message": "feat: remove scalar attr keep comments (#2244)\n\n**What type of PR is this?**\n\nFeature\n\n**What package or component does this PR mostly affect?**\n\ncmd/gazelle\n\n**What does this PR do? Why is it needed?**\n\nFollowup to https://github.com/bazel-contrib/bazel-gazelle/pull/2232 to\nremove keep comments for scalar attribute assignments.\n\n**Which issues(s) does this PR fix?**\n\npartially addresses #2228, remaining work is to remove keep comments for\nnon-mergeable attributes (which is a little hairy)\n\n**Other notes for review**\n\nKeeping things abstracted to mergeAttrValues felt more right to me,\nalthough the code there to handle the edge cases looks a little wonky.\nWould appreciate some advice there."
    },
    {
      "commit": "cb5dab0b54b52f3dcc2d9c8b7ab936b47aba63ff",
      "tree": "cb9d4d3a77ea57ffac9a52ed466014211ff8a26e",
      "parents": [
        "377f822f68ce31e6c90714324605d3043bee7377"
      ],
      "author": {
        "name": "Peter Cardenas",
        "email": "16930781+PeterCardenas@users.noreply.github.com",
        "time": "Tue Nov 25 09:00:43 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 25 09:00:43 2025 -0800"
      },
      "message": "feat: remove unnecessary keep comments in lists (#2232)\n\n**What type of PR is this?**\n\nfeature\n\n**What package or component does this PR mostly affect?**\n\ncmd/gazelle\n\n**What does this PR do? Why is it needed?**\n\nRemoves keep comments in lists when the list item was going to be kept\nanyways. Allows for automatic cleanup of dependencies that do not have\nto be manually tracked.\n\n**Which issues(s) does this PR fix?**\n\nPartially addresses #2228"
    },
    {
      "commit": "377f822f68ce31e6c90714324605d3043bee7377",
      "tree": "4871ddc86dac846c01d8d6d09f3d66ed5a04a48a",
      "parents": [
        "d3a4217845b19d8ea165586852e780976bae2f0c"
      ],
      "author": {
        "name": "Vasilios Pantazopoulos",
        "email": "vasilios@fullstory.com",
        "time": "Tue Nov 25 00:41:33 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 25 06:41:33 2025 +0100"
      },
      "message": "feature: generate `pgoprofile` attribute if default profile detected (#2241)\n\n\u003c!-- Thanks for sending a PR! Before submitting:\n\n1. If this is your first PR, please read CONTRIBUTING.md and sign the\nCLA\n   first. We cannot review code without a signed CLA.\n2. Please file an issue *first*. All features and most bug fixes should\nhave\nan associated issue with a design discussed and decided upon. Small bug\n   fixes and documentation improvements don\u0027t need issues.\n3. New features and bug fixes must have tests. Documentation may need to\nbe updated. If you\u0027re unsure what to update, send the PR, and we\u0027ll\ndiscuss\n   in review.\n--\u003e\n\n**What type of PR is this?**\n\nFeature\n\n**What package or component does this PR mostly affect?**\n\n`language/go`\n\n**What does this PR do? Why is it needed?**\n\nThis PR adds a quick detection of `default.pgo`, and if it exists,\nautomatically includes it in the `go_binary` `pgoprofile` attribute.\nThis is a very simple addition to allow easy generation of the\ndefault-case for profile-guided optimization.\n\n\u003e _Why?_\n\u003e Golang has supported profile-guided optimizations during compilation\nsince `v1.20`. When using `go build`, the default value of `-pgo` is\n`auto`, which will cause Go to perform profile-guided optimization if a\npprof file named `default.pgo` is co-located in the `main` package\ndirectory. See [Go\u0027s Profile-Guided Optimization\ndocumentation](https://go.dev/doc/pgo) for more details.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2240\n\n**Other notes for review**\n\nHello!"
    },
    {
      "commit": "d3a4217845b19d8ea165586852e780976bae2f0c",
      "tree": "6f5d706e10a5ae879a5d5573d4b5f9280a44542e",
      "parents": [
        "cbd235f0ae64339e4cad7b2a667cbb318b226b82"
      ],
      "author": {
        "name": "Ignas Anikevicius",
        "email": "240938+aignas@users.noreply.github.com",
        "time": "Tue Nov 25 01:39:23 2025 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 24 08:39:23 2025 -0800"
      },
      "message": "doc: fix the `rules_python` gazelle example (#2020)\n\nThis is a small fix to improve the docs."
    },
    {
      "commit": "cbd235f0ae64339e4cad7b2a667cbb318b226b82",
      "tree": "c3d1d1cb15909d6995b920f87bfbdee980de2d05",
      "parents": [
        "9d26c707e1167ebf06290aca12ee9bae33c140f3"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jay@engflow.com",
        "time": "Thu Nov 20 07:46:49 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 20 15:46:49 2025 +0000"
      },
      "message": "walk: fix race condition (#2238)\n\n**What type of PR is this?**\n\nBug fix\n\n**What package or component does this PR mostly affect?**\n\nwalk\n\n**What does this PR do? Why is it needed?**\n\nPreviously in Walk2, after visiting directories listed on the command\nline but before visiting RelsToIndex, we set walker.mode to\nUpdateDirsMode to avoid further recursion. This write raced with a read\nof walker.mode in walker.shouldVisit when called by populateCache.\n\nThis change removes the walker.mode field and instead passes the mode as\nan explicit parameter to functions that need it.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2235\n\n**Other notes for review**\n\nAlso added a test configuration for race detection so we can catch\nproblems like this earlier."
    },
    {
      "commit": "9d26c707e1167ebf06290aca12ee9bae33c140f3",
      "tree": "4506a80d2f80b8798cb6506af927ca8a364fb536",
      "parents": [
        "2f37cced5edd1856bd4bb92a0c6a2587edb8ef85"
      ],
      "author": {
        "name": "Fabian Meumertzheim",
        "email": "fabian@meumertzhe.im",
        "time": "Thu Nov 20 08:53:18 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 20 07:53:18 2025 +0000"
      },
      "message": "Accept `go.sum` files with git conflict markers (#2225)\n\n**What type of PR is this?**\n\nFeature\n\n**What package or component does this PR mostly affect?**\n\n`go_deps`\n\n**What does this PR do? Why is it needed?**\n\n**Which issues(s) does this PR fix?**\n\nFixes bazel-contrib/rules_go#4505\n\n**Other notes for review**"
    },
    {
      "commit": "2f37cced5edd1856bd4bb92a0c6a2587edb8ef85",
      "tree": "85bb4a61b53e9436aa46702f68069601327b6fc5",
      "parents": [
        "7022bb2c679a56230a699c7534b13450f9f2f006"
      ],
      "author": {
        "name": "Rory Chatterton",
        "email": "rory@wayvz.io",
        "time": "Thu Nov 20 03:34:53 2025 +1100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 19 16:34:53 2025 +0000"
      },
      "message": "Add default Gazelle override for tflint-plugin-sdk (#2230)\n\n**What type of PR is this?**\n\nBug fix\n\n**What package or component does this PR mostly affect?**\n\nbzlmod\n\n**What does this PR do? Why is it needed?**\n\nAdds `gazelle:proto disable` directive for\n`github.com/terraform-linters/tflint-plugin-sdk` to the default\noverrides.\n\nThe tflint-plugin-sdk repository includes pre-generated protobuf\nbindings.\nWhen Gazelle attempts to regenerate these bindings, it produces\nincompatible\ncode that causes build failures with undefined type errors.\n\nI have verified that disabling proto generation allows successful builds\nof\nprojects depending on tflint-plugin-sdk by using a MODULE.bazel override\nlike:\n\n```python\ngo_deps.gazelle_override(\n    directives \u003d [\n        \"gazelle:proto disable\",\n    ],\n    path \u003d \"github.com/terraform-linters/tflint-plugin-sdk\",\n)\n```\n\n**Which issues(s) does this PR fix?**\n\nN/A \n\n**Other notes for review**\n\nSmall fix similar to #2062 for hashicorp/go-plugin)\n\nCo-authored-by: Jay Conrod \u003cjay@engflow.com\u003e"
    },
    {
      "commit": "7022bb2c679a56230a699c7534b13450f9f2f006",
      "tree": "22d80d35c54b910301abfb2790e1cfb8e28de0cd",
      "parents": [
        "bb95b5e9cc96dcd2fd22b728da0ae573896a1c0b"
      ],
      "author": {
        "name": "Martin Kosiba",
        "email": "3844309+mkosiba@users.noreply.github.com",
        "time": "Tue Nov 18 19:23:04 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 18 19:23:04 2025 +0000"
      },
      "message": "[bzlmod/go_deps] Clarify support for modules that differ only by case. (#2213)\n\n**What type of PR is this?**\n\nBug fix / minor enhancement\n\n**What package or component does this PR mostly affect?**\n\nbzlmod go_deps/go_repository\n\n**What does this PR do? Why is it needed?**\n\nGo tooling allows go.mod files to contain entries that differ only by\ncase.\nIf that happens the `go_deps` extension will `fail(..)` with an error\nmessage describing the problem.\n\n~In this PR we\u0027re adding support for the simple case, where the\ndependency is at the same version (as is the case\n[here](https://github.com/apognu/gocal/blob/master/go.mod#L6)).~\n\nIn this PR we\u0027re clarifying the error message so it doesn\u0027t suggest that\nthis is desired/planned functionality.\n\n**Which issues(s) does this PR fix?**\n\nSeems minor enough to not need an issue?\n\nCo-authored-by: Martin Kosiba \u003cmkosiba@apple.com\u003e\nCo-authored-by: Jay Conrod \u003cjay@engflow.com\u003e"
    },
    {
      "commit": "bb95b5e9cc96dcd2fd22b728da0ae573896a1c0b",
      "tree": "2d3a697aff50b1ca74aef209e60b85bd0a75b1a6",
      "parents": [
        "b13c1573c378bb3dd9b9de1397db89d0392f8e72"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jay@engflow.com",
        "time": "Tue Nov 18 11:14:06 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 18 11:14:06 2025 -0800"
      },
      "message": "CI: upgrade rules_go for BCR tests (#2237)\n\n**What type of PR is this?**\n\n\u003e Bug fix\n\n**What package or component does this PR mostly affect?**\n\ntests/bcr\n\n**What does this PR do? Why is it needed?**\n\nBazel 9.x requires the cc_common module to be loaded explicitly.\nbazel-contrib/rules_go#4508 added the required load statement, and this\nfix was released in rules_go 0.59.0.\n\nThis change upgrades the tests/bcr/go_mod and go_work test modules to\nrequire rules_go 0.59.0 so they can be tested with Bazel 9.x. Gazelle\nitself doesn\u0027t require the fix, so this change doesn\u0027t touch\nMODULE.bazel, avoiding a forced upgrade.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2234\n\n**Other notes for review**"
    },
    {
      "commit": "b13c1573c378bb3dd9b9de1397db89d0392f8e72",
      "tree": "85451f500e806cc849458f919d393cf35cd68ce8",
      "parents": [
        "8ce02f76d6a7b248ac82ddb23136c1b6704183da"
      ],
      "author": {
        "name": "Steven Dee",
        "email": "git@wholezero.org",
        "time": "Thu Nov 06 05:16:53 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 06 14:16:53 2025 +0100"
      },
      "message": "Fix go tools at module roots (#2223)\n\n**What type of PR is this?**\n\n\u003e Bug fix\n\n**What package or component does this PR mostly affect?**\n\n\u003e go_repository\n\n**What does this PR do? Why is it needed?**\n\nThis fixes a bug in bazel-contrib/bazel-gazelle#2215 wherein tools\nlocated at module roots would not be referenced correctly from the\n`GO_TOOLS` dictionary. The proposed fix is to always explicitly specify\nthe target name, which is assumed to always be the last path component\nin the package path.\n\n**Which issues(s) does this PR fix?**\n\nPart of buildbuddy-io/bazel_env.bzl#68\n\n**Other notes for review**\n\nThough the diff is in the end pretty small (I think), I leaned on Claude\nCode a fair bit to put this together, as you can see from\nmrdomino/bazel-gazelle#2. Mainly, I asked Claude to help me research how\nGazelle generates the last path component in the binary targets it\nproduces; from what I can tell, this is usually just the last path\ncomponent, even if that component is a major version:\n\n\nhttps://github.com/bazel-contrib/bazel-gazelle/blob/8ce02f76d6a7b248ac82ddb23136c1b6704183da/language/go/generate.go#L683-L686\n\n\nhttps://github.com/bazel-contrib/bazel-gazelle/blob/8ce02f76d6a7b248ac82ddb23136c1b6704183da/language/go/package.go#L254-L257\n\n\nhttps://github.com/bazel-contrib/bazel-gazelle/blob/8ce02f76d6a7b248ac82ddb23136c1b6704183da/pathtools/path.go#L55-L72\n\n---------\n\nCo-authored-by: Claude \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "8ce02f76d6a7b248ac82ddb23136c1b6704183da",
      "tree": "a714fc8d03ca1addcc1e2a5eecd3b2d38954aad0",
      "parents": [
        "c250075b62c3d6343f58f31544f0c98af4c48342"
      ],
      "author": {
        "name": "Fabian Meumertzheim",
        "email": "fabian@meumertzhe.im",
        "time": "Wed Nov 05 10:50:51 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 05 09:50:51 2025 +0000"
      },
      "message": "Fix BCR test module with Bazel 9 (#2221)\n\n**What type of PR is this?**\n\nBug fix\n\n**What package or component does this PR mostly affect?**\n\nBCR test\n\n**What does this PR do? Why is it needed?**\n\n**Which issues(s) does this PR fix?**\n\nWork towards\nhttps://github.com/bazelbuild/bazel-central-registry/issues/6402\n\n**Other notes for review**"
    },
    {
      "commit": "c250075b62c3d6343f58f31544f0c98af4c48342",
      "tree": "8f077fa50e7361f7f0b38999b9d44164babfa731",
      "parents": [
        "f866de07a7101d51360a56260f31ca11c2b49e6e"
      ],
      "author": {
        "name": "Steven Dee",
        "email": "git@wholezero.org",
        "time": "Fri Oct 31 14:28:43 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 31 22:28:43 2025 +0100"
      },
      "message": "Generate dictionary with go tool targets (#2215)\n\n**What type of PR is this?**\n\n\u003e Feature\n\n**What package or component does this PR mostly affect?**\n\n\u003e go_repository\n\n**What does this PR do? Why is it needed?**\n\nThis adds Bazel support for [go1.24 tool directives][0]. A\n`go_tools.bzl` is emitted that contains a `GO_TOOLS` dictionary with\nbinary names as keys and targets as values. This dictionary can be\nunioned into a [`bazel_env.bzl`][1] `tools` attribute to make a module’s\ntools accessible from that env.\n\n**Which issues(s) does this PR fix?**\n\nPart of buildbuddy-io/bazel_env.bzl#68\n\n**Other notes for review**\n\nI consulted with Claude on how to build the `tool_targets` dict; I did\nnot see any prior Starlark implementation of a Go package path to Bazel\nmodule transform.\n\n[0]: https://tip.golang.org/doc/go1.24#tools\n[1]: https://github.com/buildbuddy-io/bazel_env.bzl"
    },
    {
      "commit": "f866de07a7101d51360a56260f31ca11c2b49e6e",
      "tree": "3ca063e21b249536c164878d9379a2e7f2c02659",
      "parents": [
        "47b5773efc64569526e4cafe53cf74d8993dfda9"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jay@engflow.com",
        "time": "Thu Oct 30 08:17:57 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 30 08:17:57 2025 -0700"
      },
      "message": "CI: hopefully fix BCR tests (#2220)\n\n**What type of PR is this?**\n\n\u003e Test\n\n**What package or component does this PR mostly affect?**\n\n\u003e all\n\n**What does this PR do? Why is it needed?**\n\nThe format for .bcr/presubmit.yml isn\u0027t well-documented. As far as I can\ntell, it\u0027s intepreted by\nbuildkite/bazel-central-registry/bcr_presubmit.py from\nbazelbuild/bazel-central-registry. The \"bcr_test_module\" block is\nimportant, I shouldn\u0027t have deleted that. But it only accepts one\nmodule, so go_mod is it.\n\n**Which issues(s) does this PR fix?**\n\nFor #2208\n\n**Other notes for review**"
    },
    {
      "commit": "47b5773efc64569526e4cafe53cf74d8993dfda9",
      "tree": "cab0b7af1ce751eea9e2eeb94d38e49829abcc9b",
      "parents": [
        "855be08f1e0dafdc3ddf0a6d7802d542d6956b5a"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jay@engflow.com",
        "time": "Tue Oct 28 13:13:19 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 28 13:13:19 2025 -0700"
      },
      "message": "CI: sync BCR and presubmit tests (#2218)\n\n**What type of PR is this?**\n\nTest\n\n**What package or component does this PR mostly affect?**\n\n\u003e all\n\n**What does this PR do? Why is it needed?**\n\n- BCR: Drop support for Debian 10. It\u0027s old, we don\u0027t test it in\npresubmit, and protoc has compile errors there.\n- BCR: test both go_work and go_mod since we test both in presubmit.\n- Presubmit: squash windows and non-windows tests. They\u0027re not separated\non BCR, and they\u0027re nearly identical.\n\n**Which issues(s) does this PR fix?**\n\nFor #2208\n\n**Other notes for review**"
    },
    {
      "commit": "855be08f1e0dafdc3ddf0a6d7802d542d6956b5a",
      "tree": "af6697017994a7be8a050a7e256ba963292b64ec",
      "parents": [
        "02b5c182edf0236deade3050e4f3a589dd1d1a4a"
      ],
      "author": {
        "name": "Torin Carey",
        "email": "torin@tcarey.uk",
        "time": "Tue Oct 28 12:22:05 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 28 13:22:05 2025 +0100"
      },
      "message": "language/go: handle cgo noescape and nocallback directives (#2217)\n\nThese directives currently cause gazelle to fail to process the given\nfile. Update gazelle to use the same check as saveCgo does.\n\n\u003c!-- Thanks for sending a PR! Before submitting:\n\n1. If this is your first PR, please read CONTRIBUTING.md and sign the\nCLA\n   first. We cannot review code without a signed CLA.\n2. Please file an issue *first*. All features and most bug fixes should\nhave\nan associated issue with a design discussed and decided upon. Small bug\n   fixes and documentation improvements don\u0027t need issues.\n3. New features and bug fixes must have tests. Documentation may need to\nbe updated. If you\u0027re unsure what to update, send the PR, and we\u0027ll\ndiscuss\n   in review.\n--\u003e\n\n**What type of PR is this?**\nBug fix\n\n**What package or component does this PR mostly affect?**\nlanguage/go\n\n**What does this PR do? Why is it needed?**\nThis PR updates the `#cgo` directive parsing in `language/go` to handle\nthese two new(ish) directives. Currently these directives will cause\ngazelle to bail on that file.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2216\n\n**Other notes for review**"
    },
    {
      "commit": "02b5c182edf0236deade3050e4f3a589dd1d1a4a",
      "tree": "9e298a25577d6e87bcb6084c28a38ab35573ab6c",
      "parents": [
        "15fa5e242c2af74ccfb0e44f7852307da0cc1856"
      ],
      "author": {
        "name": "Jason Bedard",
        "email": "jason+github@jbedard.ca",
        "time": "Fri Oct 24 12:13:49 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 24 12:13:49 2025 -0700"
      },
      "message": "fix: only return requested dirinfo on GetDirInfo error (#2212)\n\n**What type of PR is this?**\n\nBug fix\n\n**What package or component does this PR mostly affect?**\n\nall\n\n**What does this PR do? Why is it needed?**\n\nEnsure `GetDirInfo()` only returns `DirInfo` for the requested dir, or\nempty on error.\n\n**Which issues(s) does this PR fix?**\n\nIf there is an error loading a directory such as a syntax error in a\nBUILD file then `GetDirInfo` will detect that error and return without\nrecursing further into the `GetDirInfo(rel)`. It will return the error\nbut also the `DirInfo` for the directory containing the error.\n\nIf we are doing `GetDirInfo(\"a/b/c\")` and `a/b/c/BUILD` had a syntax\nerror, it is non-intuitive for `GetDirInfo(\"a/b/c\")` to return the\n`DirInfo` for `a/b`.\n\n**Other notes for review**\n\nIn my case I was recursing into subdirectories and when `GetDirInfo`\nreturns the info of a parent directory it caused infinite recursion.\nThis should probably by solved on my part by not recursing on error, but\nI think this change within gazelle makes return result on error clearer?\n\nThe alternative is `GetDirInfo` should return the directory the\n`DirInfo` is for. Maybe change the signature to `GetDirInfo(rel string)\n(string, DirInfo, error)` or adding `DirInfo.Pkg`."
    },
    {
      "commit": "15fa5e242c2af74ccfb0e44f7852307da0cc1856",
      "tree": "513627b45632763719ef8587bb3c75a5d52f9907",
      "parents": [
        "72ec3d2bab4c3495d32b18bb95d7d086f3523e27"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jayconrod@gmail.com",
        "time": "Thu Oct 23 07:53:01 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 23 07:53:01 2025 -0700"
      },
      "message": "Commit MODULE.bazel.lock file (#2209)\n\n**What type of PR is this?**\n\n\u003e Other\n\n**What package or component does this PR mostly affect?**\n\n\u003e all\n\n**What does this PR do? Why is it needed?**\n\nThis ensures Gazelle developers always see the same bits when\ndownloading files. We should see a security error if a module version\nchanges upstream.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2208\n\n**Other notes for review**"
    },
    {
      "commit": "72ec3d2bab4c3495d32b18bb95d7d086f3523e27",
      "tree": "3233d5a1d3b8672ed05e61cfbbe8f88045c8f92a",
      "parents": [
        "d82aa37ecb2feb4e3a28dd6b01bc6a6a5a4d577b"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jayconrod@gmail.com",
        "time": "Mon Oct 20 14:57:17 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 20 21:57:17 2025 +0000"
      },
      "message": "config: fix nil pointer exception in update help (#2202)\n\n**What type of PR is this?**\n\n\u003e Bug fix\n\n**What package or component does this PR mostly affect?**\n\n\u003e config\n\n**What does this PR do? Why is it needed?**\n\nWhen running \u0027gazelle update -h\u0027, gazelle would panic. This happened\nbecause indexFlag.String() was invoked on a zero value, and it\ndeferenced pointers to bool values. This change fixes the panic,\ntreating nil pointers as false.\n\n**Which issues(s) does this PR fix?**\n\nn/a\n\n**Other notes for review**"
    },
    {
      "commit": "d82aa37ecb2feb4e3a28dd6b01bc6a6a5a4d577b",
      "tree": "57f46e994511ba6cb052e7d84276f7963cc44fbb",
      "parents": [
        "ac1a5c3409199b93d4692793b69ed93079e445b8"
      ],
      "author": {
        "name": "Jason Bedard",
        "email": "jason+github@jbedard.ca",
        "time": "Mon Oct 20 14:34:43 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 20 14:34:43 2025 -0700"
      },
      "message": "perf: avoid use of reflection when generating bzl expressions (#2204)\n\n**What type of PR is this?**\n\nOther\n\n**What package or component does this PR mostly affect?**\n\nall\n\n**What does this PR do? Why is it needed?**\n\nPerf. Reduce use of `reflect.*` in common cases."
    },
    {
      "commit": "ac1a5c3409199b93d4692793b69ed93079e445b8",
      "tree": "de9c038af1fe665af4ba57f7a22d75726201c733",
      "parents": [
        "2d0f0766c1c54adb5f692f3c11b494c784ab1d2a"
      ],
      "author": {
        "name": "Jason Bedard",
        "email": "jason+github@jbedard.ca",
        "time": "Sun Oct 19 14:49:24 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 19 23:49:24 2025 +0200"
      },
      "message": "perf: dont use sprintf for simple string concat (#2205)\n\n**What type of PR is this?**\n\nOther\n\n**What package or component does this PR mostly affect?**\n\nall\n\n**What does this PR do? Why is it needed?**\n\nAvoid use of `Sprintf` for frequent simple concatenation."
    },
    {
      "commit": "2d0f0766c1c54adb5f692f3c11b494c784ab1d2a",
      "tree": "28a2c3fe94bc01db19e04b65142d5be8d8998452",
      "parents": [
        "b55c4b214c6ddc65df00fbff2847627eb2670efa"
      ],
      "author": {
        "name": "Jason Bedard",
        "email": "jason+github@jbedard.ca",
        "time": "Sat Oct 18 22:50:47 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 19 07:50:47 2025 +0200"
      },
      "message": "chore: update bazelbuild/buildtools, bmatcuk/doublestar (#2203)\n\n**What type of PR is this?**\n\nOther\n\n**What package or component does this PR mostly affect?**\n\nall\n\n**What does this PR do? Why is it needed?**\n\nUpgrade bazelbuild/buildtools and bmatcuk/doublestar go modules which\nboth include minor fixes and performance improvements"
    },
    {
      "commit": "b55c4b214c6ddc65df00fbff2847627eb2670efa",
      "tree": "8f1fefa4a05e9984aa3f00a4c4c4c687602d3c99",
      "parents": [
        "c7339b8dc556518989550d25b6e09744f85b34aa"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jayconrod@gmail.com",
        "time": "Tue Oct 14 08:04:55 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 14 08:04:55 2025 -0700"
      },
      "message": "Design: translate from reStructuredText to Markdown (#2198)\n\nFor #2196\n\n**What type of PR is this?**\n\n\u003e Documentation\n\n**What package or component does this PR mostly affect?**\n\n\u003e Design\n\n**What does this PR do? Why is it needed?**\n\nTranslates Design.rst from reStructuredText to Markdown.\n\nThis page is almost entirely obsolete. But let\u0027s change the format\nbefore we substantially change the content.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2196\n\n**Other notes for review**"
    },
    {
      "commit": "c7339b8dc556518989550d25b6e09744f85b34aa",
      "tree": "4dbd4b8389cdd48a48c8382a813f2feb2aee9f75",
      "parents": [
        "f5f8aff2ee45dddab0cf31f2348c32a2d41ed382"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jayconrod@gmail.com",
        "time": "Fri Oct 10 07:46:34 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 10 07:46:34 2025 -0700"
      },
      "message": "README: translate from reStructuredText to Markdown (#2197)\n\nFor #2196\n\n**What type of PR is this?**\n\n\u003e Documentation\n\n**What package or component does this PR mostly affect?**\n\nREADME.rst\n\n**What does this PR do? Why is it needed?**\n\nTranslates README.rst into README.md for more familiarity, easier\nediting. I tried to keep this as direct as possible with minimal changes\nto the text or formatting within text. I did fix punctuation and\nformatting in a few places.\n\nMarkdown tables can\u0027t have multiline cells with internal formatting, so\nI\u0027ve translated the tables into paragraphs.\n\n**Which issues(s) does this PR fix?**\n\nFor #2196\n\n**Other notes for review**\n\nThere are a lot of documentation improvements needed. This is just a\nfirst step: I don\u0027t want to mix content changes with language changes."
    },
    {
      "commit": "f5f8aff2ee45dddab0cf31f2348c32a2d41ed382",
      "tree": "16b32ca0d82dbbb42bdcad378de8c6cb661c0e0e",
      "parents": [
        "a0a42d4474258a92bc3a29278b07bcb8671eeeaa"
      ],
      "author": {
        "name": "Zhongpeng Lin",
        "email": "zplin@uber.com",
        "time": "Fri Oct 03 09:05:59 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 03 16:05:59 2025 +0000"
      },
      "message": "Automatically deleting corrupted Go module cache (#2194)\n\n**What type of PR is this?**\n\nFeature\n\n\n**What package or component does this PR mostly affect?**\ngo_repository\n\n**What does this PR do? Why is it needed?**\nWhen the Go module sum mismatches, the most effective way is to delete\nthe corrupted Go module, instead of deleting the whole Go module cache,\nwhich may contain many other unrelated modules. Because fetch_repo\nalready know where the Go module is, it can automatically delete it and\nask people to retry.\n\n**Other notes for review**\n\nNew experience:\n```\n$ export GO_REPOSITORY_USE_HOST_CACHE\u003d1\n# intentionally corrupt a module\n$ rm $(go env GOMODCACHE)/github.com/mattn/go-sqlite3@v1.14.15/static_mock.go\n$ bazel clean --expunge --async\n$ bazel fetch --force @com_github_mattn_go_sqlite3//:go-sqlite3\n...\nERROR: com_github_mattn_go_sqlite3: fetch_repo: resulting module with sum h1:NlqjV/4w2ZBKwamqKNXcb6I12S9NTFOi18B0VlNju6g\u003d; expected sum h1:vfoHhTN1af61xCRSWzFIWzx2YskyMTwHLrExkBOjvxI\u003d. Please try again. If the problem persists, please try clearing your host module cache with `go clean -modcache`\n```"
    },
    {
      "commit": "a0a42d4474258a92bc3a29278b07bcb8671eeeaa",
      "tree": "5f7bee81691a5d43a4f0c6cf72eb514384856a37",
      "parents": [
        "32901190d4c4823e26615af5587f4aa317f07cd1"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Oct 03 08:17:18 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 03 08:17:18 2025 -0700"
      },
      "message": "build(deps): bump golang.org/x/net from 0.37.0 to 0.38.0 in /tests/bcr/go_mod (#2193)\n\nBumps [golang.org/x/net](https://github.com/golang/net) from 0.37.0 to\n0.38.0.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/golang/net/commit/e1fcd82abba34df74614020343be8eb1fe85f0d9\"\u003e\u003ccode\u003ee1fcd82\u003c/code\u003e\u003c/a\u003e\nhtml: properly handle trailing solidus in unquoted attribute value in\nforeign...\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/golang/net/commit/ebed060e8f30f20235f74808c22125fd86b15edd\"\u003e\u003ccode\u003eebed060\u003c/code\u003e\u003c/a\u003e\ninternal/http3: fix build of tests with GOEXPERIMENT\u003dnosynctest\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/golang/net/commit/1f1fa29e0a46fffe18c43a9da8daa5a0b180dfa9\"\u003e\u003ccode\u003e1f1fa29\u003c/code\u003e\u003c/a\u003e\npublicsuffix: regenerate table\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/golang/net/commit/12150816f701c912a32a376754ab28dd3878833a\"\u003e\u003ccode\u003e1215081\u003c/code\u003e\u003c/a\u003e\nhttp2: improve error when server sends HTTP/1\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/golang/net/commit/312450e473eae9f9e6173ad895c80bc5ea2f79ad\"\u003e\u003ccode\u003e312450e\u003c/code\u003e\u003c/a\u003e\nhtml: ensure \u0026lt;search\u0026gt; tag closes \u0026lt;p\u0026gt; and update tests\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/golang/net/commit/09731f9bf919b00b344c763894cd1920b3d96d90\"\u003e\u003ccode\u003e09731f9\u003c/code\u003e\u003c/a\u003e\nhttp2: improve handling of lost PING in Server\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/golang/net/commit/55989e24b972a90ab99308fdc7ea1fb58a96fef1\"\u003e\u003ccode\u003e55989e2\u003c/code\u003e\u003c/a\u003e\nhttp2/h2c: use ResponseController for hijacking connections\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/golang/net/commit/2914f46773171f4fa13e276df1135bafef677801\"\u003e\u003ccode\u003e2914f46\u003c/code\u003e\u003c/a\u003e\nwebsocket: re-recommend gorilla/websocket\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca\nhref\u003d\"https://github.com/golang/net/compare/v0.37.0...v0.38.0\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dgolang.org/x/net\u0026package-manager\u003dgo_modules\u0026previous-version\u003d0.37.0\u0026new-version\u003d0.38.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the\n[Security Alerts\npage](https://github.com/bazel-contrib/bazel-gazelle/network/alerts).\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "32901190d4c4823e26615af5587f4aa317f07cd1",
      "tree": "fbb6a4821eaae2a172c15eebd6cf998a709bb370",
      "parents": [
        "6101df4e6d1a9c84fd8e0c4bb6c1994e31247917"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jayconrod@gmail.com",
        "time": "Thu Oct 02 11:53:07 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 02 18:53:07 2025 +0000"
      },
      "message": "README.rst: fix code formatting (#2192)\n\n**What type of PR is this?**\n\n\u003e Documentation\n\n**What package or component does this PR mostly affect?**\n\nREADME.rst\n\n**What does this PR do? Why is it needed?**\n\nAdd a blank line between `.. code::` directive and the actual code. The\nreStructuredText renderer skips the code block if it\u0027s not present.\n\n**Which issues(s) does this PR fix?**\n\nn/a\n\n**Other notes for review**"
    },
    {
      "commit": "6101df4e6d1a9c84fd8e0c4bb6c1994e31247917",
      "tree": "46e67ded1d9edabf7b59910f2fca6cee23eac8e0",
      "parents": [
        "67eb48249d2cdfc91bed0a56a479b66a12cc7c7b"
      ],
      "author": {
        "name": "Fabian Meumertzheim",
        "email": "fabian@meumertzhe.im",
        "time": "Thu Oct 02 20:18:23 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 02 20:18:23 2025 +0200"
      },
      "message": "Add test coverage for external Go submodules (#2191)\n\n**What type of PR is this?**\n\nTest\n\n**What package or component does this PR mostly affect?**\n\ncmd/gazelle\n\n**What does this PR do? Why is it needed?**\n\nVerify that Gazelle can resolve both a Go module and a submodule as deps\nof the same target.\n\nAlso add an exclude to the repo tools srcs generator that covers the new\nJetBrains Bazel plugin.\n\n**Which issues(s) does this PR fix?**\n\n\n**Other notes for review**"
    },
    {
      "commit": "67eb48249d2cdfc91bed0a56a479b66a12cc7c7b",
      "tree": "d8a6b8cc2abfeb50189c756bdb8f87e8b2f592cd",
      "parents": [
        "2de7b829fef136795c68d9d3b8644a379693cf55"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jayconrod@gmail.com",
        "time": "Wed Oct 01 07:37:18 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 01 07:37:18 2025 -0700"
      },
      "message": "language/bazel/visibility: add to cmd/gazelle and DEFAULT_LANGUAGES (#2190)\n\n**What type of PR is this?**\n\n\u003e Bug fix\n\n**What package or component does this PR mostly affect?**\n\n\u003e language/bazel/visibility\n\u003e cmd/gazelle\n\n**What does this PR do? Why is it needed?**\n\nThis adds support for the gazelle:default_visibility to gazelle by\ndefault, including the gazelle binary used by go_repository. Custom\nbinaries that don\u0027t use DEFAULT_LANGUAGES still won\u0027t have the extension\nthat implements this directive.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2189\n\n**Other notes for review**"
    },
    {
      "commit": "2de7b829fef136795c68d9d3b8644a379693cf55",
      "tree": "dee0ad15fdcda161f6f19f620d09951b8f359999",
      "parents": [
        "d27bd7a9fe5ed58f729e8abcd41f8117edadc49d"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jayconrod@gmail.com",
        "time": "Wed Sep 24 07:40:14 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 24 14:40:14 2025 +0000"
      },
      "message": "docs: document lazy indexing (#2188)\n\n**What type of PR is this?**\n\n\u003e Documentation\n\n**What package or component does this PR mostly affect?**\n\n\u003e all\n\n**What does this PR do? Why is it needed?**\n\nIn README.rst, added a subsection under `fix` and `update` explaining\nhow to use lazy indexing from a user\u0027s perspective. This is mentioned in\na few other places with the `-r` and `-index` flags and the `go_search`\nand `proto_search` directives, but it\u0027s hard to put it all together. A\nlarger documentation refactoring may be needed to separate reference\nmaterial from \"how to\" (following [Diataxis](https://diataxis.fr/)), but\nthis adds the needed material for now.\n\nIn extend.md, added a section on how to implement lazy indexing in a\nlanguage extension, using Go as an example. I didn\u0027t point to code here;\nnot sure how useful it would be.\n\n**Which issues(s) does this PR fix?**\n\nFor #1891\n\n**Other notes for review**"
    },
    {
      "commit": "d27bd7a9fe5ed58f729e8abcd41f8117edadc49d",
      "tree": "ce513ff517a689ef47fe3bd296ec3f5016a1f7e0",
      "parents": [
        "0f9972d8eab2b0a41fc3a7e4aaae6d5966a163f4"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jayconrod@gmail.com",
        "time": "Wed Sep 24 07:32:21 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 24 07:32:21 2025 -0700"
      },
      "message": "language/go: set visibility correctly for nested internal directories (#2187)\n\nFixes #2186\n\n**What type of PR is this?**\n\n\u003e Bug fix\n\n**What package or component does this PR mostly affect?**\n\n\u003e language/go\n\n**What does this PR do? Why is it needed?**\n\nAdded pathtools.LastIndex to accomplish this: we should be looking for\nthe last occurrence of \"internal\" in the path, not the first.\n\nAdded a test for Index in addition to LastIndex and changed the\nsemantics. Previously, Index ran path.Clean on both strings, but this\nmade the result meaningless in cases where it changed the strings.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2186\n\n**Other notes for review**"
    },
    {
      "commit": "0f9972d8eab2b0a41fc3a7e4aaae6d5966a163f4",
      "tree": "bbb0cd142667657a51121ab98c501f9572233a86",
      "parents": [
        "98c60910875d8f3d819c78aed0e8d2fb2dfe5043"
      ],
      "author": {
        "name": "Jason Bedard",
        "email": "jason+github@jbedard.ca",
        "time": "Mon Sep 22 13:37:45 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 22 13:37:45 2025 -0700"
      },
      "message": "refactor: remove unreachable code (#2160)\n\n**What type of PR is this?**\n\nOther\n\n**What package or component does this PR mostly affect?**\n\nall\n\n**What does this PR do? Why is it needed?**\n\nRemove some unreachable code\n\n**Which issues(s) does this PR fix?**\n\nFixes #\n\n**Other notes for review**"
    },
    {
      "commit": "98c60910875d8f3d819c78aed0e8d2fb2dfe5043",
      "tree": "143c2c1e75a46f05dfae6ff27cab1fcc46b2476a",
      "parents": [
        "5be0cf12022b81ec4e8dc2cee6cbabed64c4d67e"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jayconrod@gmail.com",
        "time": "Thu Sep 18 14:50:03 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 18 14:50:03 2025 -0700"
      },
      "message": "language/proto: implement lazy indexing (#2185)\n\n**What type of PR is this?**\n\n\u003e Feature\n\n**What package or component does this PR mostly affect?**\n\n\u003e language/proto\n\n**What does this PR do? Why is it needed?**\n\nImplements lazy indexing for the proto extension by adding the `#\ngazelle:proto_search` directive.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2184\n\n**Other notes for review**\n\n---------\n\nCo-authored-by: gemini-code-assist[bot] \u003c176961590+gemini-code-assist[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "5be0cf12022b81ec4e8dc2cee6cbabed64c4d67e",
      "tree": "83e2fb816981bf94e3c7a341de2bdd539178189b",
      "parents": [
        "843f2b63f1702bb5273f26308c54fb02ec003716"
      ],
      "author": {
        "name": "Zhongpeng Lin",
        "email": "zplin@uber.com",
        "time": "Tue Sep 16 10:31:46 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 16 10:31:46 2025 -0700"
      },
      "message": "Invalidate go_repository_cache when host env vars change (#2183)\n\n**What type of PR is this?**\n\nBug fix\n\n**What package or component does this PR mostly affect?**\ngo_repository\n\n\n**What does this PR do? Why is it needed?**\nThis PR calls `repository_ctx.getenv` to get\n`GO_REPOSITORY_USE_HOST_CACHE` and all Go env vars, so when these\nvariables changes, the go_repository_cache is invalidated and updated.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2182\n\n**Other notes for review**"
    },
    {
      "commit": "843f2b63f1702bb5273f26308c54fb02ec003716",
      "tree": "d19c839e8966e93034cd2d25e9731ac7450a3c8b",
      "parents": [
        "07a66163be4d9def4a3fc646640452572f262880"
      ],
      "author": {
        "name": "Ed Schouten",
        "email": "eschouten@apple.com",
        "time": "Tue Sep 09 17:06:57 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 09 15:06:57 2025 +0000"
      },
      "message": "Stop using deprecated go.new_library() and go.library_to_source() (#2180)\n\n**What type of PR is this?**\n\nBug fix\n\n**What package or component does this PR mostly affect?**\n\ngazelle_binary()\n\n**What does this PR do? Why is it needed?**\n\nThese have been replaced with new_go_info() some time last year.\n\n**Which issues(s) does this PR fix?**\n\nhttps://github.com/bazel-contrib/rules_go/pull/4030\n\n**Other notes for review**"
    },
    {
      "commit": "07a66163be4d9def4a3fc646640452572f262880",
      "tree": "7795a507c952081f967f54ccdb7ad181b79b2e55",
      "parents": [
        "0e862c3d81827441407c1e7c421831af511acfdb"
      ],
      "author": {
        "name": "xuxife",
        "email": "xuxife@gmail.com",
        "time": "Tue Sep 09 04:08:45 2025 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 08 18:08:45 2025 +0000"
      },
      "message": "moduleFromPath don\u0027t need go mod download (#2178)\n\n**What type of PR is this?**\n\nBug fix\n\n**What package or component does this PR mostly affect?**\n\ncmd/fetch_repo\ngo_repository\n\n**What does this PR do? Why is it needed?**\n\ngo_repository with local_path will fail if the `go.mod` having another\nreplace clause for the repository.\nRemove the unnecessary `go mod download` since the repository should\nalready in local if `local_path` is set.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2177 \n\n**Other notes for review**\n"
    },
    {
      "commit": "0e862c3d81827441407c1e7c421831af511acfdb",
      "tree": "8f237bb1242f17dca5efbc1c1fbd72f3b4036cec",
      "parents": [
        "3ca2882ceb34d9e515ba088d9b0a2e7523de5706"
      ],
      "author": {
        "name": "Jason Bedard",
        "email": "jason+github@jbedard.ca",
        "time": "Wed Aug 27 07:54:00 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 27 07:54:00 2025 -0700"
      },
      "message": "perf: populate walk cache in background (#2161)\n\nIs there any reason to block waiting on this? We can most likely start\n`visit()`ing directories in parallel while the cache population is done\nasync in the background...\n\nNormally the cache population will always be a step (or many steps)\nahead of `visit()` and this change should only make the 2 traversals\noverlap but introduce no change to who fills the cache or what order it\nis filled. The only scenario I can think of where `populateCache()`\nwould no longer be the first to fill the cache would be if a language\ncallback invokes `GetDirInfo`?\n\n**What type of PR is this?**\n\nOther\n\n**What package or component does this PR mostly affect?**\n\nall\n\n**What does this PR do? Why is it needed?**\n\n**Which issues(s) does this PR fix?**\n\n**Other notes for review**"
    },
    {
      "commit": "3ca2882ceb34d9e515ba088d9b0a2e7523de5706",
      "tree": "58f76adf0f6ac6b4e748a0dbbd69609486e98669",
      "parents": [
        "5267019a5ea610220a594e65af2ad5305fe7cc20"
      ],
      "author": {
        "name": "Holger Freyther",
        "email": "holger@moiji-mobile.com",
        "time": "Fri Aug 15 16:58:51 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 15 10:58:51 2025 +0200"
      },
      "message": "Add directives to build github.com/thanos-io/thanos/cmd/thanos (#2086)\n\nAdding these directives (and replace statements) allows to build the\nthanos application. Thanos and some of the dependencies already depend\non gogo proto and have code checked in.\n\n\u003c!-- Thanks for sending a PR! Before submitting:\n\n1. If this is your first PR, please read CONTRIBUTING.md and sign the\nCLA\n   first. We cannot review code without a signed CLA.\n2. Please file an issue *first*. All features and most bug fixes should\nhave\nan associated issue with a design discussed and decided upon. Small bug\n   fixes and documentation improvements don\u0027t need issues.\n3. New features and bug fixes must have tests. Documentation may need to\nbe updated. If you\u0027re unsure what to update, send the PR, and we\u0027ll\ndiscuss\n   in review.\n--\u003e\n\n**What type of PR is this?**\n\n\u003e Uncomment one line below and remove others.\n\u003e\n\u003e Bug fix\n\u003e Feature\n\u003e Documentation\n\u003e Other\n\n**What package or component does this PR mostly affect?**\n\n\u003e For example:\n\u003e\n\u003e language/go\n\u003e cmd/gazelle\n\u003e go_repository\n\u003e all\n\n**What does this PR do? Why is it needed?**\n\n**Which issues(s) does this PR fix?**\n\nFixes #\n\n**Other notes for review**"
    },
    {
      "commit": "5267019a5ea610220a594e65af2ad5305fe7cc20",
      "tree": "fbc0f100d881b0c1bb134979404f99b4856168b3",
      "parents": [
        "39692af099e3d6e0a3ba305684f1129b3c6ff0b6"
      ],
      "author": {
        "name": "JB",
        "email": "jean-baptiste.bronisz@adevinta.com",
        "time": "Fri Aug 15 09:07:48 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 15 09:07:48 2025 +0200"
      },
      "message": "support new ignore directive in go.mod (#2169)\n\nGo 1.25 introduces a new `ignore` directive to specify directories the\ngo command should ignore.\n\n**What type of PR is this?**\n\n`Feature`\n\n**What package or component does this PR mostly affect?**\n\n`bzlmod/go_mod`\n\n**What does this PR do? Why is it needed?**\n\nThis PR ignore the `ignore` directive in go.mod file, to avoid causing\nthe parsing of the _go.mod_ file to fail when this new Go 1.25 directive\nis used."
    },
    {
      "commit": "39692af099e3d6e0a3ba305684f1129b3c6ff0b6",
      "tree": "64e60b0a38356971f547a5d8eda813c1f81b7c86",
      "parents": [
        "0182acd3d6e8b5c7f625fd4d133264b4dff037d1"
      ],
      "author": {
        "name": "Saurabh D Rao",
        "email": "46107947+SaurabhDRao@users.noreply.github.com",
        "time": "Tue Aug 12 22:24:18 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 12 16:54:18 2025 +0000"
      },
      "message": "ignore godebug directive in go.mod and go.work #2167 (#2168)\n\n- go.mod and go.work allow \u0027godebug\u0027 directive which can used to add in\nrequired GODEBUG settings\n- this change is to support this godebug directive in go.mod and go.work\nby ignoring its contents since gazelle has no need for this GODEBUG\nsettings\n\n\u003c!-- Thanks for sending a PR! Before submitting:\n\n1. If this is your first PR, please read CONTRIBUTING.md and sign the\nCLA\n   first. We cannot review code without a signed CLA.\n2. Please file an issue *first*. All features and most bug fixes should\nhave\nan associated issue with a design discussed and decided upon. Small bug\n   fixes and documentation improvements don\u0027t need issues.\n3. New features and bug fixes must have tests. Documentation may need to\nbe updated. If you\u0027re unsure what to update, send the PR, and we\u0027ll\ndiscuss\n   in review.\n--\u003e\n\n**What type of PR is this?**\n\nFeature\n\n**What package or component does this PR mostly affect?**\n\ncmd/gazelle\n\n**What does this PR do? Why is it needed?**\n\nThis PR will ignore the `godebug` directive in the `go.mod` and\n`go.work` files for gazelle when used with bazel modules.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2167 \n\n**Other notes for review**"
    },
    {
      "commit": "0182acd3d6e8b5c7f625fd4d133264b4dff037d1",
      "tree": "e43298b1dad1c5e48d5314021908e74d98857718",
      "parents": [
        "f70a0b94666f45b3db5d8501412037d7e76db58a"
      ],
      "author": {
        "name": "Alan Donham",
        "email": "alan.donham@datadoghq.com",
        "time": "Tue Aug 12 11:32:49 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 12 17:32:49 2025 +0200"
      },
      "message": "Adding unit test to ensure behavior of mode\u003ddiff (#2166)\n\n**What type of PR is this?**\nOther\n\n**What package or component does this PR mostly affect?**\ncmd/gazelle\n\n**What does this PR do? Why is it needed?**\nAdding unit tests to verify `mode\u003ddiff` functionality with and without\nnewlines present.\n\n**Which issues(s) does this PR fix?**\nUpdates #2165\n\n**Other notes for review**\nThis is adding unit tests for a PR that was already approved.\n#2164"
    },
    {
      "commit": "f70a0b94666f45b3db5d8501412037d7e76db58a",
      "tree": "320f348af668a61166c64b6a560fee2a9df17750",
      "parents": [
        "8baf68484b6f3019b739753d0fee71e264a26149"
      ],
      "author": {
        "name": "Alan Donham",
        "email": "alan.donham@datadoghq.com",
        "time": "Tue Aug 12 11:11:36 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 12 17:11:36 2025 +0200"
      },
      "message": "Realign diff mode exit code with other modes. (#2165)\n\n\u003c!-- Thanks for sending a PR! Before submitting:\n\n1. If this is your first PR, please read CONTRIBUTING.md and sign the\nCLA\n   first. We cannot review code without a signed CLA.\n2. Please file an issue *first*. All features and most bug fixes should\nhave\nan associated issue with a design discussed and decided upon. Small bug\n   fixes and documentation improvements don\u0027t need issues.\n3. New features and bug fixes must have tests. Documentation may need to\nbe updated. If you\u0027re unsure what to update, send the PR, and we\u0027ll\ndiscuss\n   in review.\n--\u003e\n\n**What type of PR is this?**\nBug fix\n\n\n**What package or component does this PR mostly affect?**\ncmd/gazelle\n\n\n**What does this PR do? Why is it needed?**\nAligns behavior of `mode\u003ddiff` with other modes, by ensuring that\nnewline stripping only occurs when generating patch files.\n\n**Which issues(s) does this PR fix?**\nFixes #2164"
    },
    {
      "commit": "8baf68484b6f3019b739753d0fee71e264a26149",
      "tree": "1f2796b1b1e9b7922163e97c1ae224294ee52400",
      "parents": [
        "efeeebf581083dd6bac6e4ebd1512265d8b13f3f"
      ],
      "author": {
        "name": "Chuck Grindel",
        "email": "chuck.grindel@gmail.com",
        "time": "Mon Aug 11 03:06:40 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 11 07:06:40 2025 +0000"
      },
      "message": "docs: update Swift gazelle plugin reference to correct repository (#2159)\n\n## Summary\n- Update Swift gazelle plugin reference name from\n`rules_swift_package_manager` to `swift_gazelle_plugin`\n- Update repository URL to correct location:\n`https://github.com/cgrindel/swift_gazelle_plugin`\n\n## Test plan\n- [x] Verify all references to the old repository name have been updated\n- [x] Confirm the new URL is accessible and correct\n\n🤖 Generated with [Claude Code](https://claude.ai/code)\n\nCo-authored-by: Claude \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "efeeebf581083dd6bac6e4ebd1512265d8b13f3f",
      "tree": "1eabc97be78bc99a44ce2f36edd95db85cbb5258",
      "parents": [
        "077e8c62ea001525b45736cee85f7e808ad01b05"
      ],
      "author": {
        "name": "Jason Bedard",
        "email": "jason+github@jbedard.ca",
        "time": "Thu Aug 07 11:41:03 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 07 11:41:03 2025 -0700"
      },
      "message": "fix: populate walk cache for all walk modes (#2158)\n\nPopulating the walk cache should be based on the same `shouldVisit()`\nwhich also determines what directories we will walk/visit later.\n\n**What type of PR is this?**\n\nBug fix\n\n**What package or component does this PR mostly affect?**\n\nall\n\n**What does this PR do? Why is it needed?**\n\nToday when passing a set of directories to update on the cli it makes\nthe `populateCache()` less effective.\n\n**Which issues(s) does this PR fix?**\n\nFixes #\n\n**Other notes for review**"
    },
    {
      "commit": "077e8c62ea001525b45736cee85f7e808ad01b05",
      "tree": "68be3bbad7dbcef046f6643db12ff185c8bb8658",
      "parents": [
        "b9f4a4bcd7313e9847b2b4a518db3aec7901eee3"
      ],
      "author": {
        "name": "Wojciech Mazur",
        "email": "wmazur@virtuslab.com",
        "time": "Wed Jul 30 20:14:28 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 30 11:14:28 2025 -0700"
      },
      "message": "Extract either Module/Workspace RepoName in `CommonConfigurer` (#2157)\n\n**What type of PR is this?**\n\nBug fix\n\n**What package or component does this PR mostly affect?**\n\ncmd/gazelle \nconfig\n\n**What does this PR do? Why is it needed?**\n\n`Config.RepoName` was never setup when using `MODULE.bazel`. \nWith this change we now always try to extract repositoryName from either\n`module(name \u003d ...)` in MODULE.bazel or `workspace(name \u003d ...) in case\nof workspace files.\n\nThe logic previously defined in `cmd/gazelle` was moved to\n`CommonConfigurer` as this is the place that should be responsible for\nsetup of RepoName.\n\n**Which issues(s) does this PR fix?**\n\nNo issue in this repo. I want to use have special logic in based on\n`Config.RepoName` in `gazelle_cc`\n\n**Other notes for review**\n\nThe hack (for mapping of google_apis) was preserved in the new\nlocation`. I don\u0027t know if it can be removed, or if the mapping should\nhappen in the `cmd/gazelle` instead.\n\nSigned-off-by: Wojciech Mazur \u003cwmazur@virtuslab.com\u003e"
    },
    {
      "commit": "b9f4a4bcd7313e9847b2b4a518db3aec7901eee3",
      "tree": "f7d2c7fd99350185ad4907d1d5d29264c226a7ba",
      "parents": [
        "6803436a9c39209bd56ea1dba2dddda323a3c98b"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jayconrod@gmail.com",
        "time": "Mon Jul 28 15:06:21 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 28 22:06:21 2025 +0000"
      },
      "message": "walk: allow GetDirInfo to be called in directories not visited yet (#2153)\n\n**What type of PR is this?**\n\n\u003e Bug fix\n\n**What package or component does this PR mostly affect?**\n\n\u003e walk\n\n**What does this PR do? Why is it needed?**\n\nGetDirInfo was intended to help expand glob expressions in\nresolve.Resolver.Imports implementations. globs may cover\nsubdirectories,\nespecially when gazelle:generate_mode is used, so GetDirInfo must\nbe able to read contents of subdirectories that may not have been\nvisited yet.\n\nPreviously, the contract of GetDirInfo did not allow visiting\ndirectories that hadn\u0027t been visited yet, but it would still sometimes\nsucceed walker.populateCache won the race. This change fully\nallows GetDirInfo to be called in directories that haven\u0027t been\nvisited yet.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2132\n\n**Other notes for review**\n\nThis PR is based on #2152. I tried to split them for easier review, but\nGitHub doesn\u0027t let me set the base to a branch in a forked repo, so I\u0027m\nsorry if this makes things more difficult."
    },
    {
      "commit": "6803436a9c39209bd56ea1dba2dddda323a3c98b",
      "tree": "4944823ff0a05385730c3a277beb4442e2b22108",
      "parents": [
        "c71b983a0e8712a2054b0953ae845031f3b47fdb"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jayconrod@gmail.com",
        "time": "Mon Jul 28 14:56:46 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 28 14:56:46 2025 -0700"
      },
      "message": "pathtools: add Prefixes helper function (#2152)\n\n**What type of PR is this?**\n\n\u003e Feature\n\n**What package or component does this PR mostly affect?**\n\n\u003e pathtools\n\n**What does this PR do? Why is it needed?**\n\nIn the fix for #2132, I\u0027ll need to iterate over the prefixes of a given\nslash-separated path. Rather than duplicate the logic from Walk2,\nlet\u0027s extract it into pathtools.\n\nPrefixes returns an iterator over prefixes to avoid needing to allocate\na slice. The code should be much simpler after we adopt Go 1.23 and can\nuse range-over-iterator loops.\n\n**Which issues(s) does this PR fix?**\n\nFixes #2132\n\n**Other notes for review**"
    },
    {
      "commit": "c71b983a0e8712a2054b0953ae845031f3b47fdb",
      "tree": "61c6a7f289a2a995399d8293e087bd9581374209",
      "parents": [
        "d7a4d6b7260ea76f2461d76d57af6e8e7c4d586a"
      ],
      "author": {
        "name": "Zhongpeng Lin",
        "email": "zplin@uber.com",
        "time": "Mon Jul 28 08:25:37 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 28 15:25:37 2025 +0000"
      },
      "message": "Removing restriction on cgo in go_test (#2154)\n\n**What type of PR is this?**\nFeature\n\n**What package or component does this PR mostly affect?**\nlanguage/go\n\n\n**What does this PR do? Why is it needed?**\nUsing cgo in go_test is no longer an issue. Removing the restriction in\nGazelle\n\n**Other notes for review**"
    },
    {
      "commit": "d7a4d6b7260ea76f2461d76d57af6e8e7c4d586a",
      "tree": "1c740ef808f1ada9bf86fc45dbad978bbc47ff4b",
      "parents": [
        "d6536e7fd28656610c904b2255351af912d8ae5e"
      ],
      "author": {
        "name": "Wojciech Mazur",
        "email": "wmazur@virtuslab.com",
        "time": "Mon Jul 28 15:01:33 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 28 13:01:33 2025 +0000"
      },
      "message": "Upgrade `package_metadata` to 0.0.5 (was 0.0.2) (#2155)\n\n**What type of PR is this?**\n\nOther \n\n**What package or component does this PR mostly affect?**\n\ngo_repository\ndownstream extensions\n\n**What does this PR do? Why is it needed?**\n\nDownstream projects that depend on `gazelle` are adding the\n`package_metadata` to their builds, e.g.\nhttps://github.com/EngFlow/gazelle_cc/pull/72\nThe `package_metadata` 0.0.3 has added `licenses` rules that are missing\nin 0.0.2.\n\nWhen adding `gazelle_cc` via WORKSPACE we typically want to include\n`gazelle` dependencies first before setting up extension specific\ndependenices, example:\n```\nload(\"@bazel_gazelle//:deps.bzl\", \"gazelle_dependencies\")\ngazelle_dependencies()\n\nload(\"@gazelle_cc//:deps.bzl\", \"gazelle_cc_dependencies\")\ngazelle_cc_dependencies()\n```\n\nBecouse older version of `package_metadata` would be requested in\n`gazelle_dependencies` the newer version present in\n`gazelle_cc_dependencies` would be ignored, making it hard to debug for\nnon experienced users.\n\nBy upgrading `package_metadata` to latest version we make dependency\nresolution easier.\n\n\n**Which issues(s) does this PR fix?**\n\nNo dedicated issue\n\n**Other notes for review**\n\n`package_metadata` should include the `license` attribute, but it can be\ndone in the follow up PR"
    },
    {
      "commit": "d6536e7fd28656610c904b2255351af912d8ae5e",
      "tree": "33c08d4d592156fd1e641198cd9db0abb6bdc6d9",
      "parents": [
        "ffa4e789475efb24104bcc270fae91cd97e08747"
      ],
      "author": {
        "name": "Wojciech Mazur",
        "email": "wmazur@virtuslab.com",
        "time": "Fri Jul 25 19:33:51 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 25 10:33:51 2025 -0700"
      },
      "message": "Propagate to Gazelle extensions `proto_library` name achieved after merging with BUILD file (#2150)\n\n**What type of PR is this?**\n\nBug fix\n\n**What package or component does this PR mostly affect?**\n\nlanguage/proto\nDownstream gazelle extensions emitting `\u003clang\u003e_proto_library` based on\noutputs of `//language/proto` including `//language/go`\n\n**What does this PR do? Why is it needed?**\n\nDownstream extensions typically consume generated `proto_library` by\nemitting directly `\u003clang\u003e_proto_library` with `deps` (or other language\nspecific attribute) pointing to `proto_library` rule name obtained from\n`args.OtherGen`.\n\nHowever, if user has modified the name of `proto_library` manually\n`/language/proto` would still emit the generate name in emitted\n`proto_library` rules. Because of that all downstream languages would\nneed to implement dedicated workarounds for this problem and search for\nactual `proto_library` in the files, typically using `Resolve`\nfunctionality.\n\nExample of this kind of dedicated support was initially drafted for\n`rules_cc` https://github.com/EngFlow/gazelle_cc/pull/82 but we\u0027d like\nto fix it in upstream Gazelle so all extensions can benefit on it.\n\n**Which issues(s) does this PR fix?**\n\nNo dedicated issue in this repository, see issue in downstream\nextensions https://github.com/EngFlow/gazelle_cc/issues/81\n\n**Other notes for review**\n\n`merger.Match` was used here to ensure emitted rule name would match\nit\u0027s name after the merge. `proto_library` is always matched by it\u0027s\n`srcs` attribute.\n`rule.SetName` overwrites the name assigned in `generateProto`\n\nSigned-off-by: Wojciech Mazur \u003cwmazur@virtuslab.com\u003e"
    },
    {
      "commit": "ffa4e789475efb24104bcc270fae91cd97e08747",
      "tree": "192b0da9e869cb56059fb97067526e0efe60a52f",
      "parents": [
        "df68793771863318a350a374bd4c3aff016aec2e"
      ],
      "author": {
        "name": "tzaman-stripe",
        "email": "tzaman@stripe.com",
        "time": "Sat Jul 19 00:25:22 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 19 09:25:22 2025 +0200"
      },
      "message": "fix FixLoads issue with list of symbols (#2147)\n\n\u003c!-- Thanks for sending a PR! Before submitting:\n\n1. If this is your first PR, please read CONTRIBUTING.md and sign the\nCLA\n   first. We cannot review code without a signed CLA.\n2. Please file an issue *first*. All features and most bug fixes should\nhave\nan associated issue with a design discussed and decided upon. Small bug\n   fixes and documentation improvements don\u0027t need issues.\n3. New features and bug fixes must have tests. Documentation may need to\nbe updated. If you\u0027re unsure what to update, send the PR, and we\u0027ll\ndiscuss\n   in review.\n--\u003e\n\n**What type of PR is this?**\n\nBug fix\n\n**What package or component does this PR mostly affect?**\nmerger\n\n**What does this PR do? Why is it needed?**\nFixLoads does not work for a list expression on the RHS of an assigment\ncontaining symbols.\n\n**Which issues(s) does this PR fix?**\nThis addresses #2146, but doesn\u0027t really solve the underlying issue.\n\n**Other notes for review**"
    },
    {
      "commit": "df68793771863318a350a374bd4c3aff016aec2e",
      "tree": "c0d7b6c6b6bfb075ffeafa204fca9f69ff41b10d",
      "parents": [
        "b4c7f7d3213ea00cebccff91c4d7a180f0f3459b"
      ],
      "author": {
        "name": "Wojciech Mazur",
        "email": "wmazur@virtuslab.com",
        "time": "Fri Jul 18 21:13:12 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 18 19:13:12 2025 +0000"
      },
      "message": "Accept more forms of glob values when parsing `bzl.Expr` (#2145)\n\n**What type of PR is this?**\n\n Bug fix\n\n**What package or component does this PR mostly affect?**\n\n`rule` and possible integration in downstram projects\n\n**What does this PR do? Why is it needed?** \n\nIt adds handling for more forms of `glob` expressions: \n- accepts named `include` argument \n- accepts positional `exclude` arguments \n\nBoth of these are allowed in Build files\n\n**Which issues(s) does this PR fix?**\n\nNo dedicated issue \nAddendum to #2142 \n\n**Other notes for review**\n\n---------\n\nSigned-off-by: Wojciech Mazur \u003cwmazur@virtuslab.com\u003e\nCo-authored-by: Jay Conrod \u003cjayconrod@gmail.com\u003e"
    },
    {
      "commit": "b4c7f7d3213ea00cebccff91c4d7a180f0f3459b",
      "tree": "d93f5fd2da0c38df1b5334457e725b54da51247f",
      "parents": [
        "db0834047b08125b96417c28869d7e060f0d219c"
      ],
      "author": {
        "name": "Julian Gautier",
        "email": "81595639+jgautier-dd@users.noreply.github.com",
        "time": "Wed Jul 16 11:21:47 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 16 18:21:47 2025 +0000"
      },
      "message": "Fix target names when running in `package` proto mode (#2144)\n\n**What type of PR is this?**\n\n\u003e Bug fix\n\n**What package or component does this PR mostly affect?**\n\n\u003e language/proto\n\n**What does this PR do? Why is it needed?**\n\nAfter #2105 when running in `package` mode the target names are\ndifferent. Previously a proto package name like `foo.bar` would be\n`bar_proto` now it is `foo_bar_proto` this restores the previous\nbehavior.\n\n---------\n\nCo-authored-by: Jay Conrod \u003cjayconrod@gmail.com\u003e"
    },
    {
      "commit": "db0834047b08125b96417c28869d7e060f0d219c",
      "tree": "c201ed11978e4d2111a92bc9b16477856947f126",
      "parents": [
        "70f6c6ed7b9af4956e92fccf20f3cac1454ba2a4"
      ],
      "author": {
        "name": "Wojciech Mazur",
        "email": "wmazur@virtuslab.com",
        "time": "Wed Jul 16 20:08:55 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 16 11:08:55 2025 -0700"
      },
      "message": "Fix interfing proto.Mode - taking into account mode module apparent names  (#2143)\n\n**What type of PR is this?**\n\n Bug fix\n\n**What package or component does this PR mostly affect?**\n\n`language/proto` and its downstream project, eg. `gazelle_cc`,\n`rules_jvm`\n\n**What does this PR do? Why is it needed?**\n\nIt adjusts the infering of proto.Mode - previously it was not taking\naccount the `rules_go` added using bzlmod or its apparent names.\nIt was affecting downstream gazelle extensions consuming\n`proto_library`, e.g `gazelle_cc`, `rules_jvm`\n\n**Which issues(s) does this PR fix?**\n\nNo issue in this repo, see\nhttps://github.com/EngFlow/gazelle_cc/issues/76#issuecomment-3075688845\n\n\n**Other notes for review**\n\n---------\n\nSigned-off-by: Wojciech Mazur \u003cwmazur@virtuslab.com\u003e"
    }
  ],
  "next": "70f6c6ed7b9af4956e92fccf20f3cac1454ba2a4"
}
