)]}'
{
  "commit": "a5e17e69c3a51e0bcc6618c28a3b8a2a72cb5f92",
  "tree": "bb9d2d0c19a89400f69ed4afd5c60fb972f999b2",
  "parents": [
    "677fb53a16d65082729be927dafd3a45fafa04c5"
  ],
  "author": {
    "name": "Richard Levasseur",
    "email": "rlevasseur@google.com",
    "time": "Fri Feb 09 21:57:00 2024 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sat Feb 10 05:57:00 2024 +0000"
  },
  "message": "fix(PyRuntimeInfo): use builtin PyRuntimeInfo unless pystar is enabled. (#1748)\n\nThis fixes the bug where the PyRuntimeInfo symbol rules_python exported\nwasn\u0027t matching the provider identity that `py_binary` actually\nprovided.\n\nThe basic problem was, when pystar is disabled:\n * PyRuntimeInfo is the rules_python defined provider\n* py_binary is `native.py_binary`, which provides only the builtin\nPyRuntimeInfo provider.\n\nThus, when users loaded the rules_python PyRuntimeInfo symbol, it was\nreferring to a provider that the underlying py_binary didn\u0027t actually\nprovide. Pystar is always disabled on Bazel 6.4,\nand enabling it for Bazel 7 will happen eminently.\n\nThis typically showed up when users had a custom rule with an attribute\ndefinition that used the rules_python PyRuntimeInfo.\n\nTo fix, only use the rules_python define PyRuntimeInfo if pystar is\nenabled. This ensures the providers the underlying rules are providing\nmatch the symbols that rules_python is exported.\n\n* Also fixes `py_binary` and `py_test` to also return the builtin\nPyRuntimeInfo. This\nshould make the transition from the builtin symbols to the rules_python\nsymbols a bit\n  easier.\n\nFixes https://github.com/bazelbuild/rules_python/issues/1732",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5923c5e61a44fe810fba4f08871a654ae44c09ca",
      "old_mode": 33188,
      "old_path": "CHANGELOG.md",
      "new_id": "6338e9c2181551f63a118d742373f99615b2ec1e",
      "new_mode": 33188,
      "new_path": "CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "a0720c17a230a8c5dc14227e5e667a3576289812",
      "old_mode": 33188,
      "old_path": "python/private/common/py_executable.bzl",
      "new_id": "410fb1d0b52e6de6564257136570fc6cfe283345",
      "new_mode": 33188,
      "new_path": "python/private/common/py_executable.bzl"
    },
    {
      "type": "modify",
      "old_id": "c0a92881225d9ca387d509da96b74ea6f8f20feb",
      "old_mode": 33188,
      "old_path": "python/py_runtime_info.bzl",
      "new_id": "e88e0c02356af7936dc9524239865a1d0e73bde8",
      "new_mode": 33188,
      "new_path": "python/py_runtime_info.bzl"
    },
    {
      "type": "modify",
      "old_id": "396057997d48de90f88c1d06fae4e1077ee7795a",
      "old_mode": 33188,
      "old_path": "tests/base_rules/py_executable_base_tests.bzl",
      "new_id": "ce86ecaf113bbee5cea15bed4aabd48a392d26ee",
      "new_mode": 33188,
      "new_path": "tests/base_rules/py_executable_base_tests.bzl"
    }
  ]
}
