)]}'
{
  "commit": "bf6c4de01e413929e3763e285ae2669a44af15b9",
  "tree": "6bfb9c711b5a143e745375331e1d424e419aa01a",
  "parents": [
    "300c11d3fa2ebd878cebd5575930c25d3a2fc2eb"
  ],
  "author": {
    "name": "Udaya Prakash",
    "email": "udayaprakash@google.com",
    "time": "Wed Oct 21 13:53:55 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Oct 21 13:53:55 2026 +0000"
  },
  "message": "fix(gazelle): embed default stdlib list for non-Bazel Go builds (#4197)\n\n`gazelle/python/std_modules.go` previously used `//go:embed\nstdlib_list.txt`, where `stdlib_list.txt` only existed as a Bazel\n`copy_file` output from `@python_stdlib_list`.\n\nBuilding, listing, or testing\n`github.com/bazel-contrib/rules_python/gazelle/python` directly with\nstandard Go tooling (`go build`, `go test`, `go list -deps`, or `go\ninstall` for standalone Gazelle binaries in pre-commit hooks) failed\nwith `pattern stdlib_list.txt: no matching files found`, and running\n`bazel run //:gazelle` inside `gazelle/` emitted a missing-file warning\non `std_modules.go`.\n\nCheck in the default standard library module list at\n`gazelle/python/stdlib_list/default.txt` (verified via `diff_test`\nagainst `@python_stdlib_list//:stdlib_list/lists/3.14.txt`), change the\nBazel `copy_file` output to `stdlib_list/selected.txt`, and embed\n`stdlib_list/*.txt` via `embed.FS`.\n\nAt initialization, `loadStdModules` prefers `stdlib_list/selected.txt`\nwhen present (preserving Bazel\u0027s `python_version` `select()` behavior)\nand falls back to `stdlib_list/default.txt` for non-Bazel Go builds.\n\nFixes #3821\n\nCo-authored-by: Ignas Anikevicius \u003c240938+aignas@users.noreply.github.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0b9fd761b5ee77dcbe35f1fb5755facffc4e5830",
      "old_mode": 33188,
      "old_path": "gazelle/python/BUILD.bazel",
      "new_id": "d395f7c6acfa15f6d79b995f77fb9f261e3f012c",
      "new_mode": 33188,
      "new_path": "gazelle/python/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "ecb4f4c454e7438dd2ec2d10cc7f0ae7ba61bcc8",
      "old_mode": 33188,
      "old_path": "gazelle/python/std_modules.go",
      "new_id": "b3f2c594df05a689f639a8a3ec3025309ed6bee8",
      "new_mode": 33188,
      "new_path": "gazelle/python/std_modules.go"
    },
    {
      "type": "modify",
      "old_id": "dbcd18c9d65771d9e3480a11b1b3b0185eb40ac8",
      "old_mode": 33188,
      "old_path": "gazelle/python/std_modules_test.go",
      "new_id": "632a3d77f5b680a1bfba293e55083c9fb1c6a9ae",
      "new_mode": 33188,
      "new_path": "gazelle/python/std_modules_test.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "183a15eac1acb287068fa610a6cd43ae64411158",
      "new_mode": 33188,
      "new_path": "gazelle/python/stdlib_list/default.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a880d13f652daff69ccb6640ac015f4fbf44dbb6",
      "new_mode": 33188,
      "new_path": "news/3821.fixed.md"
    }
  ]
}
