)]}'
{
  "log": [
    {
      "commit": "05d2ebe49b0f41aee2d480a72d5bcb0c20e26448",
      "tree": "40c88ff2899d7606ec41011af68cee38f84985c7",
      "parents": [
        "eb4b727fa09962e8a433a0514c63b6431bef6188"
      ],
      "author": {
        "name": "Nevena",
        "email": "kotlaja@google.com",
        "time": "Thu Mar 19 09:02:35 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 09:02:35 2026 +0100"
      },
      "message": "Fix protoc mismatch error (#1456)"
    },
    {
      "commit": "eb4b727fa09962e8a433a0514c63b6431bef6188",
      "tree": "e44e07f647f5ddbebe4ade7d9a270a5454af105f",
      "parents": [
        "859bfffeef82c78b21d8a506d09389d7a12e6d03"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Tue Mar 17 09:30:46 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 17 09:30:46 2026 +0100"
      },
      "message": "Create pull_request_template.md"
    },
    {
      "commit": "859bfffeef82c78b21d8a506d09389d7a12e6d03",
      "tree": "92ad78df5381c32c9bbbce17c6c61a2f6ee66afd",
      "parents": [
        "e24971d9d1a7b2ab9abcb5a1c37a36cd6f351680"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Wed Feb 11 08:34:12 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 11 09:34:12 2026 +0100"
      },
      "message": "Sortvisibility (#1452)\n\n* Sort starlark load visibility lists\n\n* Updating tests\n\n- Breaking apart so that .bzl behavior can differ from Default\n- Adding list of irreversible changes which can not be tested via Bzl-\u003eBuild or Build-\u003eBzl\n- Updating added test case 077 to not test no-op behavior, but actually sort list for .bzl, and not sort list for .build\n\n---------\n\nCo-authored-by: Liam Miller-Cushon \u003ccushon@google.com\u003e\nCo-authored-by: Tim Malmström \u003coreflow@google.com\u003e"
    },
    {
      "commit": "e24971d9d1a7b2ab9abcb5a1c37a36cd6f351680",
      "tree": "fa8d434a3d7151c88477e61aa060712b6be0d773",
      "parents": [
        "54a7200a18c1a32fceb9fe9615787188ba3b2157"
      ],
      "author": {
        "name": "Matt Brown",
        "email": "matt@mattnworb.com",
        "time": "Mon Feb 02 05:57:09 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 02 10:57:09 2026 +0000"
      },
      "message": "support AssignExpr statements in edit.FindRuleByName() (#1369)\n\n* support AssignExpr statements in edit.FindRuleByName()\n\nWe have what is probably an unconventional style in some of our BUILD\nfiles where a macro is used to define several targets and returns a\nstruct of some information so that things like labels of generated\ntargets can be passed as attributes to other targets in the same\nBUILD file, without the BUILD file needing to hardcode or be aware of\nthe naming convention of the macro\u0027s internals.\n\nbuildozer and unused_deps are unable to operate on targets in\n`AssignExpr` statements since `edit.FindRuleByName()` and\n`edit.IndexOfRuleByName()` skip over any nodes that are not call\nexpressions. This commit adapts these functions to be able to find call\nexpressions that are on the right-hand side of an assignment expression.\n\nfixes #1306\n\n* refactor test based on feedback\n\n* refactor check for CallExpr or AssignExpr based on feedback"
    },
    {
      "commit": "54a7200a18c1a32fceb9fe9615787188ba3b2157",
      "tree": "09f33179b70a4b232f72681cab1233704649aef1",
      "parents": [
        "069a00ae493f17078868119390a3d7fdd66a7e4f"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Fri Jan 30 10:48:08 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 30 11:48:08 2026 +0100"
      },
      "message": "Updating github release script to find binaries (#1446)\n\n* Updating github release script to find binaries\n\n- The old script relied on binaries for all targets existing in the symlinked `bazel-bin` directory. This seems to no longer be the case in recent bazel release, so this update instead uses `aquery` to find the various go_binary GoLink outputs, and uploads them from there.\n- Also reduces list of targets to only exist once in the bash script\n\n* Resolving some Gemini comments\n\n* Resolving some Gemini comments\n\n* replacing underscore with dash in output names\n\n---------\n\nCo-authored-by: Tim Malmström \u003coreflow@google.com\u003e"
    },
    {
      "commit": "069a00ae493f17078868119390a3d7fdd66a7e4f",
      "tree": "ff9630d3392a9ee1e9626e2aee552ac77e4eda62",
      "parents": [
        "227805bae286824aba0587cd422cd180bcb8d96d"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Fri Jan 30 10:25:42 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 30 11:25:42 2026 +0100"
      },
      "message": "suppressing canonical-repository warning (#1447)\n\nCo-authored-by: Tim Malmström \u003coreflow@google.com\u003e"
    },
    {
      "commit": "227805bae286824aba0587cd422cd180bcb8d96d",
      "tree": "cbd6512378632e4b2a365f5ca050d5a97d08e33d",
      "parents": [
        "f6a1982250030df9c2d24a675a04f150ff6aca6b"
      ],
      "author": {
        "name": "John Cater",
        "email": "jcater@engflow.com",
        "time": "Thu Jan 29 10:45:29 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 29 22:45:29 2026 +0700"
      },
      "message": "Updated to run properly under Bazel 9. (#1442)\n\n* Updated to run properly under Bazel 9.\n\n* Re-add WORKSPACE file creation"
    },
    {
      "commit": "f6a1982250030df9c2d24a675a04f150ff6aca6b",
      "tree": "928172932e3f01765fcbd478b4d02ec46255b848",
      "parents": [
        "8d909a2e81358fc8319159409bacef55f77d1fd2"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Wed Jan 28 15:47:11 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 28 15:47:11 2026 +0100"
      },
      "message": "Update .bazelversion (#1445)\n\n"
    },
    {
      "commit": "8d909a2e81358fc8319159409bacef55f77d1fd2",
      "tree": "c3430cd02319ad1c3e6ccd77b9482c5f0d2d2e33",
      "parents": [
        "bbf01ec6cb4927421cbba58f56fd5b68c33fa18a"
      ],
      "author": {
        "name": "Marcel",
        "email": "maleo@google.com",
        "time": "Wed Jan 28 09:58:05 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 28 09:58:05 2026 +0100"
      },
      "message": "Add wildcard support for key in dict_replace_if_equal (#1426)\n\n"
    },
    {
      "commit": "bbf01ec6cb4927421cbba58f56fd5b68c33fa18a",
      "tree": "9706d8d423647265d57d810dfd3429d52190d88c",
      "parents": [
        "9bdafcfba839f1d1799ca37551b093398b179c20"
      ],
      "author": {
        "name": "Sergey Tyurin",
        "email": "sergey.tyurin@cloudkitchens.com",
        "time": "Wed Jan 21 00:18:17 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 21 09:18:17 2026 +0100"
      },
      "message": "Add a buildifier warning to enforce symbol load location (#1318)\n\n* Add a buildifier warning to enforce rule load location\n\n* Minor refactoring\n\n* Rename to AllowedSymbolLoadLocations"
    },
    {
      "commit": "9bdafcfba839f1d1799ca37551b093398b179c20",
      "tree": "724f980db6bcc3cfcac8aa2bd4c64b9464172d4e",
      "parents": [
        "f026de8858b32ab9a8f884197e6309837b8d629f"
      ],
      "author": {
        "name": "Joshua Haberman",
        "email": "jhaberman@gmail.com",
        "time": "Mon Jan 19 00:49:00 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 19 09:49:00 2026 +0100"
      },
      "message": "Disable bzl-visibility lint if the target file has a `visibility()` declaration (#1439)\n\n* Disable bzl-visibility lint if the target file has a `visibility()` declaration.\n\nThe official docs for this lint say:\n\n\u003e This lint predates the load visibility feature and is unnecessary in workspaces where .bzl files declare visibilities.\n\nHowever the lint can sometimes get in the way, by warning about instances where the usage is actually intended.\n\nSince `visibility()` is more explicit, and more strictly enforced, there is no need for the lint to return any warnings if the target file has a visibility declaration.\n\nMARKDOWN\u003dtrue\n\n* Addressed edge case where call function is not an ident.\n\nCo-authored-by: gemini-code-assist[bot] \u003c176961590+gemini-code-assist[bot]@users.noreply.github.com\u003e\n\n* Added a test that files without visibility() still enforce the check.\n\nMARKDOWN\u003dtrue\n\n---------\n\nCo-authored-by: gemini-code-assist[bot] \u003c176961590+gemini-code-assist[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "f026de8858b32ab9a8f884197e6309837b8d629f",
      "tree": "c9f3a237b765438949c93091f9d3a8445a9b257a",
      "parents": [
        "8e18998f7d771dcd1a4078f27a0bed26e83ab6c5"
      ],
      "author": {
        "name": "Nevena",
        "email": "kotlaja.nevena@gmail.com",
        "time": "Tue Jan 13 14:40:51 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 13 14:40:51 2026 +0100"
      },
      "message": "Fix Bazel@HEAD - Upgrade rules_go version (#1438)\n\n"
    },
    {
      "commit": "8e18998f7d771dcd1a4078f27a0bed26e83ab6c5",
      "tree": "ca3221fc6e0a9cc25689ffdc641eebbf0e76a94b",
      "parents": [
        "eb7356da689578567b6ba8534b900c20781a835d"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Fri Jan 09 17:52:58 2026 +0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 09 11:52:58 2026 +0100"
      },
      "message": "Updating Warnings Validation to be unique (#1437)\n\nPrior to this change, warnings validation could return duplicates in the list of validated enabled warnings (e.g. when specified in .buildifier.json config #1383), leading to the same warning being checked and printed multiple times\n\nCo-authored-by: Tim Malmström \u003coreflow@google.com\u003e"
    },
    {
      "commit": "eb7356da689578567b6ba8534b900c20781a835d",
      "tree": "0ce9ed38392a286b1e7851a39636091ed36826a2",
      "parents": [
        "c3aa0b7e1fd6316641b881c18a8258e4e005958b"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Wed Dec 31 08:36:31 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 31 08:36:31 2025 +0100"
      },
      "message": "Update utils.go\n\nFixes breakage caused by #1434"
    },
    {
      "commit": "c3aa0b7e1fd6316641b881c18a8258e4e005958b",
      "tree": "e2ee42990ec7f7307a8e94485a762def9bd7ab7a",
      "parents": [
        "0d0f1b178881c8cce4cd6db46ca22e920aef5295"
      ],
      "author": {
        "name": "Jean Barkhuysen",
        "email": "jean.barkhuysen@gmail.com",
        "time": "Tue Dec 30 07:18:03 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 30 15:18:03 2025 +0100"
      },
      "message": "more comments to syntax.go (#723)\n\n* more comments to syntax.go\n\n* Update syntax.go\n\n* Update syntax.go\n\n---------\n\nCo-authored-by: Tim Malmström \u003coreflow@users.noreply.github.com\u003e"
    },
    {
      "commit": "0d0f1b178881c8cce4cd6db46ca22e920aef5295",
      "tree": "6dbf6132bcb69cc1a1bdc384c4871572fe65bb93",
      "parents": [
        "dc2c657ea7a30b0c1fbd00c865d433643bf44a62"
      ],
      "author": {
        "name": "Jordan",
        "email": "jordan.mele@outlook.com.au",
        "time": "Tue Dec 30 23:05:06 2025 +1100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 30 12:05:06 2025 +0000"
      },
      "message": "Classify `.BUILD.bazel` suffixed files as `TypeBuild` (#1433)\n\nCo-authored-by: Tim Malmström \u003coreflow@users.noreply.github.com\u003e"
    },
    {
      "commit": "dc2c657ea7a30b0c1fbd00c865d433643bf44a62",
      "tree": "42d41b9240a63d00c2365a0da8c0b106ab5b8cf1",
      "parents": [
        "08c4adf5a2d2fe1e83073dd8cbc52962cff9fe3e"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Tue Dec 30 17:07:14 2025 +0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 30 11:07:14 2025 +0100"
      },
      "message": "Fixing bug where comment added to multiline attribute was added as suffix (#1434)\n\n- Also implementing tests for cmdComment\n\nCo-authored-by: Tim Malmström \u003coreflow@google.com\u003e"
    },
    {
      "commit": "08c4adf5a2d2fe1e83073dd8cbc52962cff9fe3e",
      "tree": "3bf465223e5688e9b42da5d06350d1b9e757695e",
      "parents": [
        "da16ec8269d8fbb3a13a0eba7cf789e9e4d3b4f1"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Fri Dec 26 10:11:55 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 26 10:11:55 2025 +0100"
      },
      "message": "Update stale.yml\n\nEnabling automated runs of the stale workflow"
    },
    {
      "commit": "da16ec8269d8fbb3a13a0eba7cf789e9e4d3b4f1",
      "tree": "5f05434c5c9e66e47f3efb6220781467636a9548",
      "parents": [
        "9e5607d3130a200688e71a56231417c87def73a1"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Mon Dec 22 09:03:48 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 22 09:03:48 2025 +0100"
      },
      "message": "Update stale.yml\n\nCleaning up TODOs related to current cleanup effort.\r\n\r\nWorkflow was run to mark all currently stale issues as stale"
    },
    {
      "commit": "9e5607d3130a200688e71a56231417c87def73a1",
      "tree": "09d365ae9e1351af01c17b54d4e3112881801502",
      "parents": [
        "c9f3ac67542a6e289da4ee2850fe7d2fed5c6a30"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Fri Dec 19 09:46:25 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 19 09:46:25 2025 +0100"
      },
      "message": "Update stale.yml\n\nIncrease action count to match Bazel default"
    },
    {
      "commit": "c9f3ac67542a6e289da4ee2850fe7d2fed5c6a30",
      "tree": "4a735a5ba971a5e9200a62244d6d33c679218204",
      "parents": [
        "d171b38a20c72301c432d33f511e0a6ad4437fdb"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Thu Dec 18 15:21:54 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 18 15:21:54 2025 +0100"
      },
      "message": "Creating GitHub Stale workflow to auto close stale issues and PRs (#1431)\n\n* Creating GitHub Stale workflow to auto close stale issues and PRs\n\nConfig is based on https://github.com/bazelbuild/bazel/blob/master/.github/workflows/stale.yml, but leaves a number of TODOs to first test the workflow and then enable it to run automatically.\n\n* Update stale.yml\n\n---------\n\nCo-authored-by: Tim Malmström \u003coreflow@google.com\u003e"
    },
    {
      "commit": "d171b38a20c72301c432d33f511e0a6ad4437fdb",
      "tree": "78a3944d19cdb3e4e75325f3b110f007d82be0dd",
      "parents": [
        "4ad76a2b5f2cc6bea48eb8538ba768745e361aac"
      ],
      "author": {
        "name": "hvadehra",
        "email": "hvd@google.com",
        "time": "Tue Dec 09 12:57:52 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 09 12:57:52 2025 +0100"
      },
      "message": "Add cc attributes for backwards compatibility (#1429)\n\n"
    },
    {
      "commit": "4ad76a2b5f2cc6bea48eb8538ba768745e361aac",
      "tree": "1a5e09b2be3fcd1d2ab312690387e7550408a46e",
      "parents": [
        "6e81bc356fa5c4e9b31c2368284f214edf3522f9"
      ],
      "author": {
        "name": "hvadehra",
        "email": "hvd@google.com",
        "time": "Mon Dec 08 10:56:07 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 08 10:56:07 2025 +0100"
      },
      "message": "Fix type of `default_copts` (#1428)\n\nWith the cc rules removed from Bazel, the `copts` attribute is no longer a part of the build language proto"
    },
    {
      "commit": "6e81bc356fa5c4e9b31c2368284f214edf3522f9",
      "tree": "7ab69c9e72e753099875fe6ea70f652698e814a0",
      "parents": [
        "8e68360eeafa8a98c8ceaa792467cd20c667562e"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Wed Dec 03 16:42:31 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 03 16:42:31 2025 +0100"
      },
      "message": "Update CODEOWNERS (#1424)\n\n"
    },
    {
      "commit": "8e68360eeafa8a98c8ceaa792467cd20c667562e",
      "tree": "c524254a0cac20438b797301dcfb89461bab2c51",
      "parents": [
        "9a9819efe30f571dda70302ebe7acca5d4f63bdf"
      ],
      "author": {
        "name": "Régis Desgroppes",
        "email": "rdesgroppes@gmail.com",
        "time": "Wed Nov 12 11:59:57 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 12 11:59:57 2025 +0100"
      },
      "message": "Revert \"buildifier: decouple runner scripts from binaries (#1398)\" (#1413)\n\nThis reverts commit 9a9819efe30f571dda70302ebe7acca5d4f63bdf."
    },
    {
      "commit": "9a9819efe30f571dda70302ebe7acca5d4f63bdf",
      "tree": "a1a65b649fc93258be12e8964f9be9d4a0f23391",
      "parents": [
        "e879524f2986d9b75488855aa938013db2cda4ea"
      ],
      "author": {
        "name": "Régis Desgroppes",
        "email": "rdesgroppes@gmail.com",
        "time": "Mon Nov 10 14:18:59 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 10 14:18:59 2025 +0100"
      },
      "message": "buildifier: decouple runner scripts from binaries (#1398)\n\nThis change aims at making `buildtools/buildifier` more modular and\neasier to consume by enabling use of prebuilt binaries without pulling\nin unnecessary dependencies - while strengthening upstream as the\nauthoritative home for runner script templates.\n\nToday, `buildifier/BUILD.bazel` exposes two different sets of rules:\n- exports for runner script templates (`runner.bash.template`,\n  `runner.bat.template`) as well as `README.md`,\n- `go` build \u0026 `sh` test rules which require external repos (`rules_go`,\n  `rules_shell`) even for consumers who don\u0027t need to build the\n  `buildifier` binary.\n\nIt is worth noticing there are two distinct community efforts on runner\nscripts, the present/upstream `bazelbuild/buildtools` and the derived\n`keith/buildifier-prebuilt` (Bazel Central Registry module).\nThese drift apart over time, leading to unsynchronized contents\n(`factory.bzl`, `runner.bash.template`) and efforts, e.g. on Windows\nsupport:\n- https://github.com/bazelbuild/buildtools/pull/1230\n- https://github.com/keith/buildifier-prebuilt/pull/89 (open for a year)\n\nIntended benefits of this change:\n- decoupling: by moving `go_binary` and `sh_test` targets into\n  `buildifier/cmd`, the top-level `buildifier/BUILD.bazel` no longer\n  requires `rules_go` nor `rules_shell`,\n- flexibility: users can either build binaries from source (via\n  `//buildifier/cmd`) or configure rules to use prebuilt binaries (e.g.\n  via `multitool`) while still consuming the same upstream runner script\n  templates,\n- backward compatibility: aliases keep `//buildifier:buildifier*`\n  working by delegating to `//buildifier/cmd:buildifier*`."
    },
    {
      "commit": "e879524f2986d9b75488855aa938013db2cda4ea",
      "tree": "c524254a0cac20438b797301dcfb89461bab2c51",
      "parents": [
        "61dad1f518dc104d688ad0e62f286a8fe1a16580"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Fri Nov 07 06:22:29 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 07 12:22:29 2025 +0100"
      },
      "message": "Bugfix false positive for \"unused\" variable for nested `def`s (#1376)\n\nWhen detecting whether symbols are used or not, variables referenced as argument defaults of the inner def would count as \"use\" in the inner scope, and hence falsely trigger \"unused\" warning.\n\nExample:\n\n```\ndef outer_def(name, foo \u003d \"foo\"):\n    def inner_def(foo \u003d foo):\n        print(foo)  # buildifier: disable\u003dprint\n\n    inner_def()\n```\n\nUnused variable check for the above function would\n1. Check outer_def for variable usage\n2. Recursively check inner_def for variable usage\n  - Detect that `foo` is used\n  - Omit `foo` from returned usedSymbolsFromOuterScope since `foo` is a local variable\n3. Receive no \"usedSymbol\" for `foo`\n4. Output \"unused-variable\" warning\n\nIf there are RHS idents in a def statement, these idents are always from an outer scope, so these can check the later inner-scope definedSymbols check.\n\nCo-authored-by: Tim Malmström \u003coreflow@google.com\u003e"
    },
    {
      "commit": "61dad1f518dc104d688ad0e62f286a8fe1a16580",
      "tree": "61673b8eb1d79e4472cae1eadbb761e2c8848176",
      "parents": [
        "82ab6333f5cad40662fffb252fe1913336a2f3ca"
      ],
      "author": {
        "name": "Régis Desgroppes",
        "email": "rdesgroppes@gmail.com",
        "time": "Thu Nov 06 15:09:42 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 06 15:09:42 2025 +0100"
      },
      "message": "buildifier: improve Windows runner performance (#1404)\n\n* buildifier: improve Windows runner performance\n\nThis change aims to improve the `buildidier`\u0027s runner performance on\nWindows where it can sometimes take minutes to complete.\n\nIt consists in replacing the slow COM `Scripting.FileSystemObject` with\na \"native\" PowerShell `Get-ChildItem -Recurse` for file discovery, and\nbatch `buildifier` invocations (100 files at a time) instead of invoking\nonce per file.\n\nThis improves performance on large codebases (like from about 2 minutes\nto less than 3 seconds).\n\nNotes:\n- cross-process COM calls add latency, whereas `Get-ChildItem` is a\n  compiled \"cmdlet\".\n- by default, `Get-ChildItem` doesn\u0027t recurse into symbolic links to\n  directories, which is consistent with the current implementation that\n  explicitly avoids entering `ReparsePoint`s,\n- batching files passed to `buildifier` reduces process creation\n  overhead, with a limit to account for Windows command line length\n  limitations.\n\nReferences:\n- https://stackoverflow.com/questions/73893997/comments-in-a-long-line-powershell-code-in-a-batch-script\n- https://stackoverflow.com/questions/3205027/maximum-length-of-command-line-string\n- https://devblogs.microsoft.com/oldnewthing/20031210-00/?p\u003d41553"
    },
    {
      "commit": "82ab6333f5cad40662fffb252fe1913336a2f3ca",
      "tree": "7be9e7b4730657ba2f7a154e114da88d65b78f96",
      "parents": [
        "30d1c54c6ea736bec4747cae6c0fd4e392c63951"
      ],
      "author": {
        "name": "Mike Lundy",
        "email": "mike@fluffypenguin.org",
        "time": "Thu Nov 06 04:43:04 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 06 13:43:04 2025 +0100"
      },
      "message": "fix module file detection (#1407)\n\nThe naming scheme for module files is [prefix.]MODULE.bazel:\nhttps://bazel.build/rules/lib/globals/module#include"
    },
    {
      "commit": "30d1c54c6ea736bec4747cae6c0fd4e392c63951",
      "tree": "f3c82c48bec87d7e5cfd54e40e223de4539bb7bb",
      "parents": [
        "f48b2349353088f0c5c7c76e3d29e00399e63f37"
      ],
      "author": {
        "name": "Sergey Tyurin",
        "email": "sergey.v.tyurin@gmail.com",
        "time": "Wed Nov 05 07:39:19 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 05 16:39:19 2025 +0100"
      },
      "message": "[unused_deps] Improve usage (#1410)\n\n"
    },
    {
      "commit": "f48b2349353088f0c5c7c76e3d29e00399e63f37",
      "tree": "64d849cb8e388bc1fa1c18e6a4327ea0dfd68847",
      "parents": [
        "fca6deeee27bf5cc4ad61afe11110797af9038fe"
      ],
      "author": {
        "name": "Laurent Le Brun",
        "email": "laurentlb@gmail.com",
        "time": "Fri Oct 31 17:47:59 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 31 17:47:59 2025 +0100"
      },
      "message": "Add support for type annotations in assignments (#1403)\n\ne.g.\n  s: str \u003d \"hello\""
    },
    {
      "commit": "fca6deeee27bf5cc4ad61afe11110797af9038fe",
      "tree": "519031112dc0593547e55df49a63e2be670661b8",
      "parents": [
        "2eb4fccefb52eeea5cbae46bd145afc0dc625ad5"
      ],
      "author": {
        "name": "Nevena",
        "email": "kotlaja.nevena@gmail.com",
        "time": "Fri Oct 31 16:59:41 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 31 16:59:41 2025 +0100"
      },
      "message": "Update version of rules_go to fix xcode_config + Fix Bazel@HEAD (#1409)\n\n* Update version of rules_go to fix xcode_config error\n\n* fix error - upgrade go_sdk\n\n* fix api.gen error\n\n* update other genfiles\n\n* update deps for bazel@head"
    },
    {
      "commit": "2eb4fccefb52eeea5cbae46bd145afc0dc625ad5",
      "tree": "5ad97e295e03b49a732621f626d23a1871a187f8",
      "parents": [
        "8f135a59a74a7f6dd6a63529e3405a41a580da39"
      ],
      "author": {
        "name": "Fabian Meumertzheim",
        "email": "fabian@meumertzhe.im",
        "time": "Tue Sep 30 16:00:53 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 30 16:00:53 2025 +0200"
      },
      "message": "Also print `fixed ...` messages with `-stdout` (#1373)\n\n* Also print `fixed ...` messages with `-stdout`\n\nThis makes it easier for users to implement a \"check only\" mode that doesn\u0027t modify any files, but is able to tell which ones would have been changed by buildozer.\n\n* Use diff"
    },
    {
      "commit": "8f135a59a74a7f6dd6a63529e3405a41a580da39",
      "tree": "80024f30df011ba128fcfd81ab920849199157d3",
      "parents": [
        "6c4b75d794275e9a8257425e6f50c131431ca18c"
      ],
      "author": {
        "name": "Xùdōng Yáng",
        "email": "wyverald@gmail.com",
        "time": "Tue Sep 30 06:13:31 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 30 05:13:31 2025 -0500"
      },
      "message": "Fix build with HEAD Bazel (#1397)\n\nMinimal dependency version upgrades to fix compatibility with Bazel@HEAD."
    },
    {
      "commit": "6c4b75d794275e9a8257425e6f50c131431ca18c",
      "tree": "4e61eeda35a14e467a69855944ae57dce52d51d0",
      "parents": [
        "4006b543a694f6cf77c2d8cc188c5f53f3bac1d9"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Fri Sep 26 08:22:24 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 26 08:22:24 2025 -0500"
      },
      "message": "Updating positional-args check to be more comprehensive (#1393)\n\n- Previous implementation just assumed that macros were called at the root of a BUILD file, and that all calls were to macros/rules except for explicit allowlist. Updating the check to more precisely validate whether something is a rule/macro, and checking all call expressions (including ones nested in dicts/attrs).\n- Also updating IsMacro implementation to correctly support symblic macro definitions (`my_macro \u003d macro(...)`)\n\nCo-authored-by: Tim Malmström \u003coreflow@google.com\u003e"
    },
    {
      "commit": "4006b543a694f6cf77c2d8cc188c5f53f3bac1d9",
      "tree": "515818c67eadba2d97be68c9a77b3f9b7201a1a8",
      "parents": [
        "62b9413b08bb4d1bbac0869eaff8fa8962c46744"
      ],
      "author": {
        "name": "Nick Schaap",
        "email": "nschaap@umd.edu",
        "time": "Tue Aug 26 07:13:27 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 26 13:13:27 2025 +0200"
      },
      "message": "updates (#1386)\n\nCo-authored-by: Nick Schaap \u003cschaap@adobe.com\u003e"
    },
    {
      "commit": "62b9413b08bb4d1bbac0869eaff8fa8962c46744",
      "tree": "0499a990676c10506a5c5f3bc3ee334dc06345ec",
      "parents": [
        "fdc626802fbc1f9d42ffb2fd918bffe8be9d2283"
      ],
      "author": {
        "name": "Fabian Meumertzheim",
        "email": "fabian@meumertzhe.im",
        "time": "Tue Jul 15 12:26:56 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 15 12:26:56 2025 +0200"
      },
      "message": "Don\u0027t fail on directories named `foo.bzl` (#1377)\n\n"
    },
    {
      "commit": "fdc626802fbc1f9d42ffb2fd918bffe8be9d2283",
      "tree": "67199d71ad8252a725c130766b8b445ebba002ef",
      "parents": [
        "b64e1da840478ad93c60ec4296cda36d2f91dc51"
      ],
      "author": {
        "name": "Sebastian Barfurth",
        "email": "s@barfurth.com",
        "time": "Thu Jul 03 16:13:24 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 03 16:13:24 2025 +0200"
      },
      "message": "Support multi-symbol replace_load correctly (#1366)\n\nThe logic for removing old loading symbols replaced by `replace_load` was flawed. It would leave behind old (redundant) loads, iff the `replace_load` was to replace two symbols from the same location. This change simplifies how loads are replaced by simply keeping track of non-replaced loads rather than trying to remove from the list with index manipulation.\n\nI\u0027ve added a few more test cases. Most of these new tests will fail on the old code."
    },
    {
      "commit": "b64e1da840478ad93c60ec4296cda36d2f91dc51",
      "tree": "041a2b19a0d5acb8388d126e64e9ab7ab82df234",
      "parents": [
        "a2a20c9c1c7cb85905a0fc5aad9ec02370cfdb1f"
      ],
      "author": {
        "name": "Alberto Cavalcante",
        "email": "alberto.cavalcante@jpmorgan.com",
        "time": "Thu Jul 03 07:07:22 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 03 16:07:22 2025 +0200"
      },
      "message": "feat: add `windows_arm64` releases (#1368)\n\n* feat(binaries): add go_binary targets for windows_arm64\n\n* refactor!: adopt consistent naming across go_binary targets to include the arch for all platforms. Simplifies copy_files defintiion.\n\n* feat: add windows_arm64 binaries to the release assets\n\n* feat(launcher.js): remove failure check for windows_arm64"
    },
    {
      "commit": "a2a20c9c1c7cb85905a0fc5aad9ec02370cfdb1f",
      "tree": "8acec2cd45061f3bda4c127d83da980a7ee4fbe6",
      "parents": [
        "4ee5cc34c8a48ed3e5c5b946fe0570e1dbc226fc"
      ],
      "author": {
        "name": "Paul Salaberria",
        "email": "psalaberria002@gmail.com",
        "time": "Tue Jun 24 13:34:44 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 24 06:34:44 2025 -0500"
      },
      "message": "Run buildifier against all MODULE.bazel -like files (#1374)\n\n* Run buildifier against all MODULE.bazel -like files\n\nI noticed the included files in our MODULE.bazel were not being linted.\r\n\r\nI tracked it to this runner.bash template.\r\n\r\nhttps://bazel.build/rules/lib/globals/module#include\n\n* Update runner.bash.template"
    },
    {
      "commit": "4ee5cc34c8a48ed3e5c5b946fe0570e1dbc226fc",
      "tree": "d5b1a106864dbdb772c4ce8f935e28605be05ca7",
      "parents": [
        "34c392ac4bc29807fe18f0d8da5e7c773cd17f38"
      ],
      "author": {
        "name": "David Sanderson",
        "email": "32687193+dws@users.noreply.github.com",
        "time": "Fri Jun 20 02:54:24 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 20 01:54:24 2025 -0500"
      },
      "message": "make backslashes visible in docs for dict_add and dict_set (#1372)\n\nIn order to escape colons in the keys and values that you provide to dict_add and dict_set, you must precede them with backslashes.  The raw README.md file has the backslashes, but they are not visibile when rendered.  We here double these backslashes so that they\u0027ll be visible when rendered."
    },
    {
      "commit": "34c392ac4bc29807fe18f0d8da5e7c773cd17f38",
      "tree": "7ab5c7bad849a7076b3ea9d3c5d5dc48163c033e",
      "parents": [
        "b1e23f1025b8556cc75eebb28ff7f40b8930d353"
      ],
      "author": {
        "name": "Philipp",
        "email": "ollendorff.philipp@gmail.com",
        "time": "Fri Jun 13 16:41:57 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 13 16:41:57 2025 +0200"
      },
      "message": "Revert \"Fix buildozer fix tests that assume 1/0 for known boolean fields (#1360)\" (#1370)\n\nThis reverts commit d5bd18580d56d474e654ba2b0439cf59bf3ac13d.\n\nCo-authored-by: Philipp Ollendorff \u003cpollendorff@google.com\u003e"
    },
    {
      "commit": "b1e23f1025b8556cc75eebb28ff7f40b8930d353",
      "tree": "5e2fd9242640cfca8ad8ced5d773ec5e49118203",
      "parents": [
        "04fb76e2ce2abfd2f0d5839e1e3d3fc7bacdd257"
      ],
      "author": {
        "name": "Kyle Dobitz",
        "email": "kyledobitz@gmail.com",
        "time": "Mon Jun 02 22:14:22 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 02 15:14:22 2025 -0500"
      },
      "message": "Update WARNINGS.md (#1353)\n\n* Update WARNINGS.md\n\nInclude a link to a more detailed explanation of how to handle accumulating dependencies before constructing a depset.\n\n* Updating warnings.textproto and regenerating WARNINGS.md\n\n---------\n\nCo-authored-by: Tim Malmström \u003coreflow@google.com\u003e\nCo-authored-by: Tim Malmström \u003coreflow@users.noreply.github.com\u003e"
    },
    {
      "commit": "04fb76e2ce2abfd2f0d5839e1e3d3fc7bacdd257",
      "tree": "69999cd0d52acb38a6a352e3b2da931c3705c454",
      "parents": [
        "b02f80d9ea9c87e88659d53ad428fadeec3cbc49"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Mon Jun 02 16:16:56 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 02 09:16:56 2025 -0500"
      },
      "message": "Add Starlarkified Python attributes to generate_tables.go (#1365)\n\n* Add Starlarkified Python attributes to generate_tables.go\n\nThis ensures backwards compatibility in the CLI for attributes like \"main\"\nand \"python_version\". Otherwise, they require quoting, when building buildozer\nagainst newer versions of Bazel.\n\n* Updating tables.gen.go to match new type definitions from generate_tables.go\n\n---------\n\nCo-authored-by: Jon Brandvein \u003cbrandjon@google.com\u003e\nCo-authored-by: Tim Malmström \u003coreflow@google.com\u003e"
    },
    {
      "commit": "b02f80d9ea9c87e88659d53ad428fadeec3cbc49",
      "tree": "7a0782e2f52a2150c1d284b1606b982ca1555c7d",
      "parents": [
        "5199712b8f8b61e5afd6b892dca5fec13c8bf1b3"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Fri May 30 12:20:19 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 30 12:20:19 2025 +0200"
      },
      "message": "Fixing unicode string split issue (#1364)\n\nhttps://github.com/bazelbuild/buildtools/pull/1361 caused an issue when splitting a string if the character before the split would be a unicode character since the character was inserted using byte offset.\nNew version only modifies string content which is known since it matches the regex separator\n\nCo-authored-by: Tim Malmström \u003coreflow@google.com\u003e"
    },
    {
      "commit": "5199712b8f8b61e5afd6b892dca5fec13c8bf1b3",
      "tree": "92d12ad009cc73773d5a305efb32382f6ba520f2",
      "parents": [
        "fdebdb3800e7597342648b3e8cdaf45e6f34d79b"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Fri May 30 11:21:20 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 30 04:21:20 2025 -0500"
      },
      "message": "Adding function to execute Buildozer commands on a single in-memory file (#1359)\n\nA buildozer client are looking to execute the commands of buildozer on the content of a build file, in a service environment (without direct access to the file storage). The new function enables this by running the commands without accessing the file system.\n\nCo-authored-by: Tim Malmström \u003coreflow@google.com\u003e"
    },
    {
      "commit": "fdebdb3800e7597342648b3e8cdaf45e6f34d79b",
      "tree": "8eb0bbc1ac3db5e2679840bbed490d88438f38f5",
      "parents": [
        "5d1447716aecda6813276f243c5bf5b42a4d0aed"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Wed May 28 09:36:01 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 28 09:36:01 2025 +0200"
      },
      "message": "Fixing go-lint issue to not use underscores in variable names (#1362)\n\nCo-authored-by: Tim Malmström \u003coreflow@google.com\u003e"
    },
    {
      "commit": "5d1447716aecda6813276f243c5bf5b42a4d0aed",
      "tree": "a9f0fcfb7c832e22c80c0bed83e7872e891fe6c9",
      "parents": [
        "9029539f409be51a8c5a0a93e63fde95e3f17b23"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Tue May 27 17:00:35 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 27 10:00:35 2025 -0500"
      },
      "message": "Allowing escaped colon character in dict operations (#1361)\n\ndict_add, dict_set and dict_remove can now be used with keys / values containing \"\\:\" escaped colon characters\nupdating existing pipe-escape functionality to reuse same operation\n\nCo-authored-by: Tim Malmström \u003coreflow@google.com\u003e"
    },
    {
      "commit": "9029539f409be51a8c5a0a93e63fde95e3f17b23",
      "tree": "e94f68cc5d4422796401937b2f21c903a8651018",
      "parents": [
        "d5bd18580d56d474e654ba2b0439cf59bf3ac13d"
      ],
      "author": {
        "name": "David Zbarsky",
        "email": "dzbarsky@gmail.com",
        "time": "Tue May 27 05:35:49 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 27 11:35:49 2025 +0200"
      },
      "message": "perf: Avoid recompiling regexes (#1293)\n\n"
    },
    {
      "commit": "d5bd18580d56d474e654ba2b0439cf59bf3ac13d",
      "tree": "632d64771af75cfe4dffb390ae1efae8a35b6ae5",
      "parents": [
        "9a75f394f94b53d9e7613163fa6706627184546e"
      ],
      "author": {
        "name": "Vladimir Moskva",
        "email": "vladmos@google.com",
        "time": "Tue May 27 11:18:35 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 27 11:18:35 2025 +0200"
      },
      "message": "Fix buildozer fix tests that assume 1/0 for known boolean fields (#1360)\n\n"
    },
    {
      "commit": "9a75f394f94b53d9e7613163fa6706627184546e",
      "tree": "d35c1c13247894ad3ba3da3d6f7b51550e918d9c",
      "parents": [
        "d9ed52af26ee7e03973f776739d46fd79742dc36"
      ],
      "author": {
        "name": "Alex Martani",
        "email": "amartani@gmail.com",
        "time": "Thu May 22 09:08:46 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 22 18:08:46 2025 +0200"
      },
      "message": "buildozer: Respect .bazelignore (#1343)\n\n* buildozer: Respect .bazelignore\n\n* buildozer: Do not ignore a folder when only a prefix of the folder name is in .bazelignore.\n\n* buildozer: Add flag --respect_bazelignore"
    },
    {
      "commit": "d9ed52af26ee7e03973f776739d46fd79742dc36",
      "tree": "83668666cdc8766f7cb95e777c2df37ec99c8d0e",
      "parents": [
        "5b1eeddb473735843ffb77300aec09714b097eb9"
      ],
      "author": {
        "name": "pdoyle12",
        "email": "pdoyle@gmail.com",
        "time": "Sun Apr 27 16:35:27 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 28 01:35:27 2025 +0200"
      },
      "message": "Bug fix. Correctly identify expressions using \u0026\u003d, ^\u003d, \u003e\u003e\u003d, and \u003c\u003c\u003d as assignment statements when parsing BUILD files. (#1357)\n\n* Add files via upload\n\nCorrectly include \u0026\u003d, ^\u003d, \u003e\u003e\u003d, \u003c\u003c\u003d as assignment statements when parsing BUILD files.\r\n\r\nThe Starlark grammar reference (https://github.com/bazelbuild/starlark/blob/master/spec.md#grammar-reference) identifies all of these as assignment statements, but the parser doesn\u0027t include them in the list, probably an old oversight.\r\n\r\nThis fixes issue #1330.\n\n* Update warn_control_flow_test\n\nThis change adds no-effect tests for \u0026\u003d, ^\u003d, \u003e\u003e\u003d, and \u003c\u003c\u003d to ensure they are recognized as having an effect."
    },
    {
      "commit": "5b1eeddb473735843ffb77300aec09714b097eb9",
      "tree": "7d5663fa7fba8a24cd0aba4f3144db24657b5155",
      "parents": [
        "870ee1bae25a0c8fc9a3f57339421f9594ca7d79"
      ],
      "author": {
        "name": "Xùdōng Yáng",
        "email": "wyverald@gmail.com",
        "time": "Fri Apr 25 15:42:47 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 25 21:42:47 2025 +0200"
      },
      "message": "Revert \"Keep targets like \"@foo//:foo\" formatted as-is. (#1355)\" (#1356)\n\nThis reverts commit 870ee1bae25a0c8fc9a3f57339421f9594ca7d79."
    },
    {
      "commit": "870ee1bae25a0c8fc9a3f57339421f9594ca7d79",
      "tree": "b93f466fcbdc17690174d11531ee276601c9f109",
      "parents": [
        "f37c35dc3237698f02b9123d39000a31e91db9c9"
      ],
      "author": {
        "name": "Laramie Leavitt",
        "email": "lar@google.com",
        "time": "Fri Apr 25 15:19:20 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 25 17:19:20 2025 +0200"
      },
      "message": "Keep targets like \"@foo//:foo\" formatted as-is. (#1355)\n\n* Keep targets like \"@foo//:foo\" formatted as-is.\n\nSee https://github.com/bazelbuild/buildtools/issues/1354\n\n* Update 019.build.golden\n\nUpdate golden file."
    },
    {
      "commit": "f37c35dc3237698f02b9123d39000a31e91db9c9",
      "tree": "7d5663fa7fba8a24cd0aba4f3144db24657b5155",
      "parents": [
        "16e6ff5138ea7b98190d7b810ea89e68aebf3e5c"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Thu Apr 10 16:48:51 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 10 09:48:51 2025 -0500"
      },
      "message": "Adding nil check for Rule Call Expression (#1351)\n\nRules can currently be created with CallExpr set to nil, which results in the code panicking. Checking for this error and using the type default if there is no other value defined.\n\nCo-authored-by: Tim Malmström \u003coreflow@google.com\u003e"
    },
    {
      "commit": "16e6ff5138ea7b98190d7b810ea89e68aebf3e5c",
      "tree": "2f754f961236f9b76cbab2966ae58342196baf60",
      "parents": [
        "f963a971214798f489be1ea818e0c40e43930629"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Thu Apr 10 14:19:44 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 10 07:19:44 2025 -0500"
      },
      "message": "Removing unused directory `buildifier2` (#1350)\n\nCo-authored-by: Tim Malmström \u003coreflow@google.com\u003e"
    },
    {
      "commit": "f963a971214798f489be1ea818e0c40e43930629",
      "tree": "80f0f93ce4e3cc0470c592e6403b51e2a952110a",
      "parents": [
        "c98d8e8051d11c59e8a84ec75b925993779d0849"
      ],
      "author": {
        "name": "Philipp",
        "email": "ollendorff.philipp@gmail.com",
        "time": "Fri Apr 04 16:11:43 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 04 16:11:43 2025 +0200"
      },
      "message": "Direct users to disable incorrect warning (#1349)\n\nCo-authored-by: Philipp Ollendorff \u003cpollendorff@google.com\u003e"
    },
    {
      "commit": "c98d8e8051d11c59e8a84ec75b925993779d0849",
      "tree": "40c4cd4db5ae581e92cf261ca2d9e3b65c8a6795",
      "parents": [
        "f79c8eafbddde3060ba64e845f0697a5cce053df"
      ],
      "author": {
        "name": "Philipp",
        "email": "ollendorff.philipp@gmail.com",
        "time": "Thu Apr 03 15:46:30 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 03 15:46:30 2025 +0200"
      },
      "message": "Note that list-append incorrectly warns on select statements (#1348)\n\n* Note that list-append incorrectly warns on select statements\n\n* rephrase informal sentence\n\n* regenerate .md\n\n* Rephrasing warning\n\n---------\n\nCo-authored-by: Philipp Ollendorff \u003cpollendorff@google.com\u003e"
    },
    {
      "commit": "f79c8eafbddde3060ba64e845f0697a5cce053df",
      "tree": "86580b940a3516ee7d44cf327c2ba4a111252d91",
      "parents": [
        "ee6c0a33bee5254ad64fb6b8f9537b7e969a6cdf"
      ],
      "author": {
        "name": "Levi Zim",
        "email": "rsworktech@outlook.com",
        "time": "Wed Mar 26 17:10:33 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 26 10:10:33 2025 +0100"
      },
      "message": "Build and ship binaries for riscv64 (#1346)\n\n"
    },
    {
      "commit": "ee6c0a33bee5254ad64fb6b8f9537b7e969a6cdf",
      "tree": "1c53eed9ad24d8cd4b87cad5479001c9423dde3a",
      "parents": [
        "737aaf84facd7b15986dba9b29b4c745ceef54f5"
      ],
      "author": {
        "name": "Fabian Meumertzheim",
        "email": "fabian@meumertzhe.im",
        "time": "Sat Mar 22 00:35:42 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 22 00:35:42 2025 +0100"
      },
      "message": "Keep `include` calls together in `MODULE.bazel` files (#1345)\n\n"
    },
    {
      "commit": "737aaf84facd7b15986dba9b29b4c745ceef54f5",
      "tree": "42c4c927880c8c6117dbb7fc2137b8d973b0abe3",
      "parents": [
        "931d76d6a6394bd42297a422c0658a9e41cbb7fb"
      ],
      "author": {
        "name": "Fabian Meumertzheim",
        "email": "fabian@meumertzhe.im",
        "time": "Wed Mar 12 16:15:47 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 12 16:15:47 2025 +0100"
      },
      "message": "Break module extension groups after a `use_repo` (#1339)\n\nThis allows users to separate tags and associated `use_repo` statements into separate groups.\n\nAlso use unified diffs in the integration tests since ordinary diffs make it very hard to reason about whitespace.\n\nBefore:\n```\ngo_deps \u003d use_extension(\"//:extensions.bzl\", \"go_deps\")\ngo_deps.from_file(go_mod \u003d \"//:go.mod\")\nuse_repo(\n    go_deps,\n    \"com_github_bazelbuild_buildtools\",\n)\ngo_deps.module(name \u003d \"foo\")\nuse_repo(go_deps, \"foo\")\n```\n\nAfter:\n```\ngo_deps \u003d use_extension(\"//:extensions.bzl\", \"go_deps\")\ngo_deps.from_file(go_mod \u003d \"//:go.mod\")\nuse_repo(\n    go_deps,\n    \"com_github_bazelbuild_buildtools\",\n)\n\ngo_deps.module(name \u003d \"foo\")\nuse_repo(go_deps, \"foo\")\n```"
    },
    {
      "commit": "931d76d6a6394bd42297a422c0658a9e41cbb7fb",
      "tree": "e6a26205d079ee31651c5752eadd150da9eb6fba",
      "parents": [
        "7cb8bf6374086beda65ad56d108f571fb0a143c9"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Thu Mar 06 17:11:21 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 06 11:11:21 2025 -0500"
      },
      "message": "Updating set kind to remember starting line of the rule\n\n"
    },
    {
      "commit": "7cb8bf6374086beda65ad56d108f571fb0a143c9",
      "tree": "4e5839533672da83ca9236de31306ab45c195bac",
      "parents": [
        "63f93c18e6243d2e31e45816818d4f2209197820"
      ],
      "author": {
        "name": "Vladimir Moskva",
        "email": "vladmos@google.com",
        "time": "Wed Mar 05 14:12:59 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 05 08:12:59 2025 -0500"
      },
      "message": "Update CODEOWNERS (#1340)\n\n"
    },
    {
      "commit": "63f93c18e6243d2e31e45816818d4f2209197820",
      "tree": "91b899c0037d9e0b432b52f489a36e5e4e9b0b7a",
      "parents": [
        "bc03ae50c2498fcc6e665714a9c480622e4b67e1"
      ],
      "author": {
        "name": "Vladimir Moskva",
        "email": "vladmos@google.com",
        "time": "Wed Mar 05 14:05:12 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 05 14:05:12 2025 +0100"
      },
      "message": "Release s390x binaries on Github (#1289)\n\n"
    },
    {
      "commit": "bc03ae50c2498fcc6e665714a9c480622e4b67e1",
      "tree": "c96c6be4d24a7f72fe7778be661a553529fd0096",
      "parents": [
        "17d06ff8a1b5d96d81fc1354a2d0fe82f32a19f1"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Wed Mar 05 12:08:59 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 05 12:08:59 2025 +0100"
      },
      "message": "Remove \"out\" from the listArg-list (#1338)\n\n\"out\" as an attribute seems to be a list and a string literal, varying between different rules.\r\n\r\nFrom a lexical standpoint, it would be more likely to be a singluar value as the the wording is singular, and it would be more expected for a rule which provides multiple outs to use the \"outs\" attribute.\r\n\r\nMetrics (based on Google internal use) show use of the attribute are ~5% lists, and ~95% string."
    },
    {
      "commit": "17d06ff8a1b5d96d81fc1354a2d0fe82f32a19f1",
      "tree": "b51ba308659cb415bfb80e68bc163b8aae3ea319",
      "parents": [
        "ad48c76ab9b528d89e103ffbf6037900e75a69df"
      ],
      "author": {
        "name": "Tim Malmström",
        "email": "oreflow@users.noreply.github.com",
        "time": "Wed Mar 05 11:44:26 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 05 11:44:26 2025 +0100"
      },
      "message": "Clean up redundant recommendation from README.md (#1337)\n\nRemoving redundant recommendation to run movePackageToTop, there doesn\u0027t seem to be any reason to do so"
    },
    {
      "commit": "ad48c76ab9b528d89e103ffbf6037900e75a69df",
      "tree": "44f10483c228f1e655bbee199044467a59a16c58",
      "parents": [
        "ff5a15a14fa3939a985e61cc1afdb734216225e9"
      ],
      "author": {
        "name": "Vladimir Moskva",
        "email": "vladmos@google.com",
        "time": "Tue Feb 04 17:07:07 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 04 17:07:07 2025 +0100"
      },
      "message": "Fix a potential NPE (#1331)\n\n"
    },
    {
      "commit": "ff5a15a14fa3939a985e61cc1afdb734216225e9",
      "tree": "701a3adb1a30ba92a0d91b99522271f7cf2809ec",
      "parents": [
        "635c1223b1e675c167ef55d924ef4a6fe28bef36"
      ],
      "author": {
        "name": "Vladimir Moskva",
        "email": "vladmos@google.com",
        "time": "Tue Feb 04 17:04:09 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 04 17:04:09 2025 +0100"
      },
      "message": "Explicitly load shell rules (#1332)\n\n"
    },
    {
      "commit": "635c1223b1e675c167ef55d924ef4a6fe28bef36",
      "tree": "8477c98c2905ceb094e2cd6c72997bc59896a48d",
      "parents": [
        "1d763400648042ed0e5d7388397bd98c2991d238"
      ],
      "author": {
        "name": "Fabian Meumertzheim",
        "email": "fabian@meumertzhe.im",
        "time": "Thu Jan 30 14:21:14 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 30 14:21:14 2025 +0100"
      },
      "message": "Fix load placement for files with docstring and copyright header (#1329)\n\nAlso add missing setup calls for other tests."
    },
    {
      "commit": "1d763400648042ed0e5d7388397bd98c2991d238",
      "tree": "127777a05b411cd9717e425d10f81fc922857252",
      "parents": [
        "a84ab464140ced35fdab59d1b32442a94ea43a32"
      ],
      "author": {
        "name": "hvadehra",
        "email": "hvd@google.com",
        "time": "Tue Jan 28 13:12:25 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 28 13:12:25 2025 +0100"
      },
      "message": "Enable warnings for the native cc rules \u0026 symbols (#1326)\n\n"
    },
    {
      "commit": "a84ab464140ced35fdab59d1b32442a94ea43a32",
      "tree": "94cc70d2b7f24edf257ba1f2494f5bc238caf695",
      "parents": [
        "54b4ddb7cbbf2f1745d31a9b326b9c5f520138e9"
      ],
      "author": {
        "name": "Vladimir Moskva",
        "email": "vladmos@google.com",
        "time": "Wed Jan 22 16:04:30 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 22 16:04:30 2025 +0100"
      },
      "message": "Compress a statement (#1327)\n\n"
    },
    {
      "commit": "54b4ddb7cbbf2f1745d31a9b326b9c5f520138e9",
      "tree": "ed1bc6d2f3235722b83446248a2c6dc94a6e0c68",
      "parents": [
        "733b4a20350d044edbef66af669b1793cf8347e3"
      ],
      "author": {
        "name": "Vladimir Moskva",
        "email": "vladmos@google.com",
        "time": "Tue Jan 21 14:30:43 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 21 14:30:43 2025 +0100"
      },
      "message": "Comment a function (#1325)\n\n"
    },
    {
      "commit": "733b4a20350d044edbef66af669b1793cf8347e3",
      "tree": "2b8b9c5ae134c9548c2838235da01bef177dacef",
      "parents": [
        "50e9b3fafe1fb97f5270977402fbbc68e79e04c8"
      ],
      "author": {
        "name": "Ian Flanigan",
        "email": "flan@google.com",
        "time": "Tue Jan 21 13:52:00 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 21 13:52:00 2025 +0100"
      },
      "message": "Add attrs as a special attribute of the print command (#1323)\n\nBefore, there was no way to get a list of all of the attributes of a\r\nrule.  Now print attrs will print a list containing all of the\r\nattribute names of a given rule.\r\n\r\nFixes #1322.\r\n\r\nRELNOTES: \"print \u0027attrs\u0027 //rule\" prints all attributes of the rule"
    },
    {
      "commit": "50e9b3fafe1fb97f5270977402fbbc68e79e04c8",
      "tree": "e7e746a76aeeadcbe002d75fff18845a5c0a26c9",
      "parents": [
        "3648bec1fd3c00cb983707137c9486ec0e802ebe"
      ],
      "author": {
        "name": "Sandy Fang",
        "email": "sndyfang@gmail.com",
        "time": "Tue Jan 21 04:42:23 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 21 13:42:23 2025 +0100"
      },
      "message": "Collapse empty call expressions (#1308)\n\n* Collapse empty call expressions\r\n\r\n* Unset ForceMultiLine in rewrite.go so parse tree doesn\u0027t change when formatting"
    },
    {
      "commit": "3648bec1fd3c00cb983707137c9486ec0e802ebe",
      "tree": "daae0e4dc47c837d011cc790deeeaf43ce90ba12",
      "parents": [
        "3a48437303ebd39a0e4b607d262b721efb0c9db1"
      ],
      "author": {
        "name": "Keith Smiley",
        "email": "keithbsmiley@gmail.com",
        "time": "Fri Jan 17 04:49:29 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 17 13:49:29 2025 +0100"
      },
      "message": "Add rules_shell fixing (#1303)\n\nCurrently these are split into 3 rules because 1 rule cannot add 3 load\r\nstatements and this repo doesn\u0027t have a defs.bzl that exposes them all"
    },
    {
      "commit": "3a48437303ebd39a0e4b607d262b721efb0c9db1",
      "tree": "2ae934b25f40cc7f2e0e173ad61acdf9276693d5",
      "parents": [
        "c84efd9971c44d0b3b572608d2af718cf5a15683"
      ],
      "author": {
        "name": "Fabian Meumertzheim",
        "email": "fabian@meumertzhe.im",
        "time": "Tue Jan 14 14:25:47 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 14 14:25:47 2025 +0100"
      },
      "message": "Fix and improve float formatting (#1309)\n\n* Don\u0027t break `12e+34` into `12e + 34`\r\n\r\n* Better implementation\r\n\r\n* Normalize floats"
    },
    {
      "commit": "c84efd9971c44d0b3b572608d2af718cf5a15683",
      "tree": "8d11e1df61ec31f87e24838fbc881cd9bc54d475",
      "parents": [
        "cf7952d23567c8d352fdb24ea27b24770adad295"
      ],
      "author": {
        "name": "Dmitry Pleshakov",
        "email": "dpleshakov@gmail.com",
        "time": "Tue Jan 14 15:58:55 2025 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 14 13:58:55 2025 +0100"
      },
      "message": "Fix: Buildifier cannot find `.buildifier-tables.json` when run from a subdirectory (#1312)\n\n* Fix: Resolve Relative Path Issues for .buildifier-tables.json in AddTables Configuration\r\n\r\nThis commit addresses an issue where Buildifier fails to locate the .buildifier-tables.json file when specifying a relative path in the AddTables configuration and running Buildifier from subdirectories within the workspace.\r\n\r\n* Fix TestFindTablePath: wrong tmp path, removing, result comparing\r\n\r\n* Refactoring: minor fix test style\r\n\r\n* Small code improvements\r\n\r\n* Fix macOs test failuer: On MacOS \u0027/tmp\u0027 is a symlink to \u0027/private/tmp\u0027"
    },
    {
      "commit": "cf7952d23567c8d352fdb24ea27b24770adad295",
      "tree": "6b245091e487f312e2d8ff6bc982763dceb5468e",
      "parents": [
        "13fa61383b993e408c2f6a768b27744d67218a37"
      ],
      "author": {
        "name": "Farid Zakaria",
        "email": "farid.m.zakaria@gmail.com",
        "time": "Tue Jan 14 04:41:49 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 14 13:41:49 2025 +0100"
      },
      "message": "Support bzlmod repositories (#1316)\n\nunused_deps seems to be broken for repositories that have migrated over\r\nto bzlmod.\r\n\r\nSpecifically, the reference to the aspect must be done via the canonical\r\nname for the workspace now.\r\n(This probably even needs to change once WORKSPACE is defunct in Bazel 9)\r\n\r\nThis will break users of unused_deps if they are not on bzlmod but given\r\nthe latest release of Bazel 8 this is the direction we are headed.\r\nExisting WORKSPACE users can pin to a previous version.\r\n(Alternatively we could maybe support a flag)\r\n\r\nfixes #1315"
    },
    {
      "commit": "13fa61383b993e408c2f6a768b27744d67218a37",
      "tree": "6bbd2f70db05859a69439fd4a5a047cfc4581aa3",
      "parents": [
        "04e3b5a43df43cbd53a80b6f900abe1fb3c5400b"
      ],
      "author": {
        "name": "Fabian Meumertzheim",
        "email": "fabian@meumertzhe.im",
        "time": "Fri Jan 10 12:46:35 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 10 12:46:35 2025 +0100"
      },
      "message": "Use apparent repo names when fixing loads (#1321)\n\nWhether a load for e.g. proto rules should be from `@com_google_protobuf`, `@protobuf` or a fully custom name depends on the `repo_name` on the `bazel_dep` for the `protobuf` module in the root module\u0027s module file.\r\n\r\nThis PR scans `MODULE.bazel` and included `*.MODULE.bazel` files for `bazel_dep`s and uses the derived mapping for the suggested loads."
    },
    {
      "commit": "04e3b5a43df43cbd53a80b6f900abe1fb3c5400b",
      "tree": "8414c64cce68d77662beb6b32b27bcdd24654d71",
      "parents": [
        "a9c248f4b6847cf04e5ec12c6fbe1af085d4193d"
      ],
      "author": {
        "name": "Keith Smiley",
        "email": "keithbsmiley@gmail.com",
        "time": "Fri Jan 10 03:35:06 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 10 12:35:06 2025 +0100"
      },
      "message": "Enable native-* rules (#1302)\n\nWith bazel 8.x these should now be loaded externally. It\u0027s currently\r\nonly a soft requirement, but at this point all users should start\r\nmigrating to this."
    },
    {
      "commit": "a9c248f4b6847cf04e5ec12c6fbe1af085d4193d",
      "tree": "f54b7b46e1a04fd9966d01cc4a565e13eee7ff3f",
      "parents": [
        "8bd806d1ee7ea86e9e7f677c7dfdb37ef4725514"
      ],
      "author": {
        "name": "Vladimir Moskva",
        "email": "vladmos@google.com",
        "time": "Thu Dec 12 16:58:39 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 12 16:58:39 2024 +0100"
      },
      "message": "Fix failing tests on CI (#1317)\n\n* Update the checked in protos\r\n* Bump the dependencies\r\n* Don\u0027t test on Ubuntu 18.04\r\n* Disable failing tests on Windows CI"
    },
    {
      "commit": "8bd806d1ee7ea86e9e7f677c7dfdb37ef4725514",
      "tree": "51500889f268f0b375016835230985bcd35c3041",
      "parents": [
        "a0444eb13952b018621609a1dbaa3ba78d07dd0b"
      ],
      "author": {
        "name": "hvadehra",
        "email": "hvadehra@gmail.com",
        "time": "Mon Dec 09 15:51:46 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 09 15:51:46 2024 +0100"
      },
      "message": "Enable warnings for the (formerly) native java rules \u0026 symbols (#1313)\n\n"
    },
    {
      "commit": "a0444eb13952b018621609a1dbaa3ba78d07dd0b",
      "tree": "f3eca668eb90a74cb70aa8211e2d112ecdcf0b7c",
      "parents": [
        "be1c24cc9a44b4fd2410ec5356e4e21926dd206a"
      ],
      "author": {
        "name": "Ivo List",
        "email": "ilist@google.com",
        "time": "Fri Nov 29 16:52:26 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 29 16:52:26 2024 +0100"
      },
      "message": "Require proto rules to be loaded by buildifier (#1310)\n\n* Require proto rules to be loaded by buildifier\r\n\r\nBecause the rules are moved into the repository the loads become mandatory with Bazel@HEAD.\r\n\r\nAdd new warning for each rule and symbol that needs to be loaded. Buildifier doesn\u0027t handle well loading from different bzl files in a single warning.\r\n\r\nEnable all proto rules warning by default.\r\n\r\n* Format with gofmt\r\n\r\n* Add missing quote\r\n\r\n* Add and regenerated docs\r\n\r\n* Fix tests\r\n\r\n* Remove \\n\\n"
    },
    {
      "commit": "be1c24cc9a44b4fd2410ec5356e4e21926dd206a",
      "tree": "dd82d86bf7016f55c08554d000519fcd871420a2",
      "parents": [
        "a70762a8e645621165e935f788ba0b30ee90d217"
      ],
      "author": {
        "name": "Yun Peng",
        "email": "pcloudy@google.com",
        "time": "Wed Sep 18 12:10:19 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 18 12:10:19 2024 +0200"
      },
      "message": "Fix quoting in presubmit.yml (#1295)\n\n"
    },
    {
      "commit": "a70762a8e645621165e935f788ba0b30ee90d217",
      "tree": "d02267162ea6aca91b40752591e680467ade7693",
      "parents": [
        "dd10159baa91487a419105ca0e0d1ab99eb3fec8"
      ],
      "author": {
        "name": "Yun Peng",
        "email": "pcloudy@google.com",
        "time": "Tue Sep 17 13:41:22 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 17 13:41:22 2024 +0200"
      },
      "message": "Skip ubuntu1804 in downstream testing (#1294)\n\n"
    },
    {
      "commit": "dd10159baa91487a419105ca0e0d1ab99eb3fec8",
      "tree": "f8fdab11c00bcb61e6b6359413f51996235caff3",
      "parents": [
        "45b7ddb516e521e68794bf409d73ff8a32641de3"
      ],
      "author": {
        "name": "Vladimir Moskva",
        "email": "vladmos@google.com",
        "time": "Tue Aug 27 17:40:17 2024 +0200"
      },
      "committer": {
        "name": "Vladimir Moskva",
        "email": "vladmos@google.com",
        "time": "Tue Aug 27 17:40:17 2024 +0200"
      },
      "message": "Make npm packages explicitly publishable\n"
    },
    {
      "commit": "45b7ddb516e521e68794bf409d73ff8a32641de3",
      "tree": "a920967463887bbdfc49561fff0dcbfe0df4a006",
      "parents": [
        "ec2ed9db85ce45df1ca8bfc1233848d49e88dfbc"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Aug 27 15:44:38 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 27 15:44:38 2024 +0200"
      },
      "message": "Bump google.golang.org/protobuf from 1.25.0 to 1.33.0 (#1251)\n\n* Bump google.golang.org/protobuf from 1.25.0 to 1.33.0\r\n\r\nBumps google.golang.org/protobuf from 1.25.0 to 1.33.0.\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: google.golang.org/protobuf\r\n  dependency-type: direct:production\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\r\n\r\n* Update go.sum\r\n\r\n* Update generated files\r\n\r\n---------\r\n\r\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\r\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\r\nCo-authored-by: Vladimir Moskva \u003cvladmos@google.com\u003e"
    },
    {
      "commit": "ec2ed9db85ce45df1ca8bfc1233848d49e88dfbc",
      "tree": "e2b799aedc57b4e16f026e775ba3b8fe7c9dc5f0",
      "parents": [
        "5a4dddc7f11e89dabdc5d0ef308d8379f49aa326"
      ],
      "author": {
        "name": "Paul Herman",
        "email": "paulstefanherman@gmail.com",
        "time": "Tue Aug 27 13:09:20 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 27 13:09:20 2024 +0200"
      },
      "message": "Replace log.Fatalf with log.Exitf to avoid spamming stderr. (#1284)\n\n* Replace log.Fatalf with log.Exitf to avoid spamming stderr.\r\n\r\nThe set of warnings is something that is changing over time. As scripts tend to hardcode these, they get out of date and we hit this unexpected warning code path. There\u0027s little benefit of having a stack trace from this issue. Thus, it\u0027s more convenient to just print the error itself and nothing else.\r\n\r\n* Update warn.go"
    },
    {
      "commit": "5a4dddc7f11e89dabdc5d0ef308d8379f49aa326",
      "tree": "65d510e97a229e5593a094e6ef90c942c436e9b5",
      "parents": [
        "3488089d36611a59331a9f4117e5b895e330b728"
      ],
      "author": {
        "name": "Fabian Meumertzheim",
        "email": "fabian@meumertzhe.im",
        "time": "Mon Aug 26 15:02:00 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 26 15:02:00 2024 +0200"
      },
      "message": "Cover missing cases during module extension label normalization (#1219)\n\n* Cover missing cases during module extension label normalization\r\n\r\nThe previous logic missed to normalize cases such as \"extension.bzl\"\r\nand \":extension.bzl\". Instead of enumerating cases, parse the label and\r\ntrack it in canonical form.\r\n\r\n* Add more tests"
    },
    {
      "commit": "3488089d36611a59331a9f4117e5b895e330b728",
      "tree": "5d4ca103708bb3e5f240fcc665303b6f0e0dd5bd",
      "parents": [
        "19c62d9fc1d29ca99c3faa08f78cd90b36f49908"
      ],
      "author": {
        "name": "Marcel",
        "email": "maleo@google.com",
        "time": "Fri Aug 23 15:23:50 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 23 15:23:50 2024 +0200"
      },
      "message": "Return empty string when no BUILD file is available in our workspace (#1288)\n\n"
    },
    {
      "commit": "19c62d9fc1d29ca99c3faa08f78cd90b36f49908",
      "tree": "acdd0d975b31ce47445c25684ca2947a17d86f32",
      "parents": [
        "37932ddd72301f8ca6075ee6b24e9e5d333c96a5"
      ],
      "author": {
        "name": "Steve Barrau",
        "email": "98589981+stevebarrau@users.noreply.github.com",
        "time": "Wed Aug 21 15:03:48 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 21 16:03:48 2024 +0200"
      },
      "message": "Add tables to runfiles (#1270)\n\n"
    },
    {
      "commit": "37932ddd72301f8ca6075ee6b24e9e5d333c96a5",
      "tree": "7adfd505259c1dd12db66cb006934e68cba1a2ba",
      "parents": [
        "7f01a3fa734ae531a40da9e926e158d1050c4077"
      ],
      "author": {
        "name": "Marc Redemske",
        "email": "mgred@users.noreply.github.com",
        "time": "Sun Aug 04 22:13:02 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 04 22:13:02 2024 +0200"
      },
      "message": "buildifier: fix typo (#1283)\n\n"
    },
    {
      "commit": "7f01a3fa734ae531a40da9e926e158d1050c4077",
      "tree": "873a4c6a82522e79dd5dd660b9e182f5047b3f6e",
      "parents": [
        "ef135304aed5a44fd77bbda4094f73cecdf80463"
      ],
      "author": {
        "name": "Vladimir Moskva",
        "email": "vladmos@google.com",
        "time": "Wed Jul 31 16:04:08 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 31 16:04:08 2024 +0200"
      },
      "message": "Replace references to \u0027master\u0027 branches with \u0027main\u0027 (#1281)\n\n"
    },
    {
      "commit": "ef135304aed5a44fd77bbda4094f73cecdf80463",
      "tree": "14dd4898368e0a375773e4b2cdbb239375f2ee24",
      "parents": [
        "8469a329db167ba3f544c820d1a31a6950d8b7d9"
      ],
      "author": {
        "name": "Repana-Chowdappa",
        "email": "147173423+Repana-Chowdappa@users.noreply.github.com",
        "time": "Wed Jul 31 04:22:42 2024 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 31 00:52:42 2024 +0200"
      },
      "message": "Added s390x arch support (#1265)\n\n"
    },
    {
      "commit": "8469a329db167ba3f544c820d1a31a6950d8b7d9",
      "tree": "c93360d1293381112112db15e6b8d97e33241ace",
      "parents": [
        "73857dd6be431b95cba493fffce5e33da9c2da49"
      ],
      "author": {
        "name": "Fabian Meumertzheim",
        "email": "fabian@meumertzhe.im",
        "time": "Wed Jul 31 00:44:24 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 31 00:44:24 2024 +0200"
      },
      "message": "Fix sorting of relative and `@foo.bzl` loads (#1272)\n\nLoad sorting now properly parses load labels and compares repo, package and\r\ntarget name in order. Relative labels are forced to sort last."
    },
    {
      "commit": "73857dd6be431b95cba493fffce5e33da9c2da49",
      "tree": "2b0295b59d2180cf6e7a074b22a0d0fe60638ded",
      "parents": [
        "717ae2f1829560581f8d2dd4afc971e3fcb26b0b"
      ],
      "author": {
        "name": "Alberto Cavalcante",
        "email": "54247214+albertocavalcante@users.noreply.github.com",
        "time": "Tue Jul 30 12:21:16 2024 -0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 30 17:21:16 2024 +0200"
      },
      "message": "Replace usage deprecated io/iotil (#1279)\n\n* update go.mod to expect go 1.20 as workspace registers go 1.20.3\r\n\r\n* remove usage of deprecated io/ioutil"
    },
    {
      "commit": "717ae2f1829560581f8d2dd4afc971e3fcb26b0b",
      "tree": "dacab0ab02948a11d341741ce669d9c5df4d33df",
      "parents": [
        "92a716d768c05fa90e241fd2c2b0411125a0ef89"
      ],
      "author": {
        "name": "Matthieu MOREL",
        "email": "matthieu.morel35@gmail.com",
        "time": "Tue Jul 30 15:01:14 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 30 15:01:14 2024 +0200"
      },
      "message": "chore(bazel): add MODULE.bazel files for bzlmod (#1245)\n\n* chore(bazel): add MODULE.bazel files for bzlmod\r\n\r\nSigned-off-by: Matthieu MOREL \u003cmatthieu.morel35@gmail.com\u003e\r\n\r\n* fix path of test_common.sh\r\n\r\nSigned-off-by: Matthieu MOREL \u003cmatthieu.morel35@gmail.com\u003e\r\n\r\n* Update the versions to the latest available\r\n\r\n* Change the extension name\r\n\r\n* Regenerate *gen.pb.go files\r\n\r\n---------\r\n\r\nSigned-off-by: Matthieu MOREL \u003cmatthieu.morel35@gmail.com\u003e\r\nCo-authored-by: Vladimir Moskva \u003cvladmos@google.com\u003e"
    },
    {
      "commit": "92a716d768c05fa90e241fd2c2b0411125a0ef89",
      "tree": "31016ac9ff51d784394da60f3b1b313508f73c72",
      "parents": [
        "9b954d04d9fac3c5c72074eb092132e7db348771"
      ],
      "author": {
        "name": "Vladimir Moskva",
        "email": "vladmos@google.com",
        "time": "Wed Jun 26 18:21:58 2024 +0200"
      },
      "committer": {
        "name": "Vladimir Moskva",
        "email": "vladmos@google.com",
        "time": "Wed Jun 26 18:21:58 2024 +0200"
      },
      "message": "Fix comments\n"
    },
    {
      "commit": "9b954d04d9fac3c5c72074eb092132e7db348771",
      "tree": "329e9cfae81d18bede12eb2812252f5883d01d14",
      "parents": [
        "80f1f6802857db4d74983ee7ffa0b83e2bbeeda4"
      ],
      "author": {
        "name": "Tyler Sellmayer",
        "email": "tsell@users.noreply.github.com",
        "time": "Wed Jun 26 09:13:58 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 26 18:13:58 2024 +0200"
      },
      "message": "Add dict_replace_if_equal command to buildozer. (#1274)\n\n* Add dict_replace_if_equal command to buildozer.\r\n\r\n* Run gofmt -w and remove unnecessary equality check."
    },
    {
      "commit": "80f1f6802857db4d74983ee7ffa0b83e2bbeeda4",
      "tree": "7678bb33033c3506921d77e2349ac6b404849356",
      "parents": [
        "1429e15ae755a6762d0edf9198062dc6ed04408d"
      ],
      "author": {
        "name": "Vladimir Moskva",
        "email": "vladmos@google.com",
        "time": "Thu Jun 06 16:03:50 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 06 16:03:50 2024 +0200"
      },
      "message": "Add support for substituting deps inside select statements (#1275)\n\n"
    }
  ],
  "next": "1429e15ae755a6762d0edf9198062dc6ed04408d"
}
