)]}'
{
  "commit": "8f114a5326e8940702e7e701a4cedd22ea4c1403",
  "tree": "f5a2e2a80fd4658bf94693ef3c5578d1e6a80fda",
  "parents": [
    "0ff94b1247f2c45cbe6d065fde85933d38d31e6d"
  ],
  "author": {
    "name": "Ignas Anikevicius",
    "email": "240938+aignas@users.noreply.github.com",
    "time": "Wed Jan 31 14:41:20 2024 +0900"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Jan 31 05:41:20 2024 +0000"
  },
  "message": "feat(toolchain): support specifying x.y versions in transitions (#1720)\n\nThis is inspired by how rules_go is registering their toolchains.\n\nTheir toolchains have multiple `target_settings` values. This\nallows for a simpler passing of `X.Y` version to the `py_binary` and\n`py_test` rules and does not strictly require us to provide the APIs\nthat pass the full python version value as the closure. This is only\npossible because #1555 introduced working aliases and now we can also\nhave this.\n\nSummary:\n- refactor: move the toolchain_def to starlark as opposed to templating\n- refactor: move the version setting as well\n- feat: support matching on X.Y versions\n- feat: X.Y.Z will match if X.Y is used as python_version flag and the\n  MINOR_MAPPING has `\"X.Y\": \"X.Y.Z\"`.\n- test: add tests checking the generated config settings.\n- doc: add an example of how we could use the transition files directly\n\nSee\nhttps://github.com/bazelbuild/rules_go/blob/master/go/private/go_toolchain.bzl#L181\n\n---------\n\nCo-authored-by: Richard Levasseur \u003crichardlev@gmail.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "eb00db9bb10b6989ddef094d0b66aeff32fabe05",
      "old_mode": 33188,
      "old_path": ".bazelrc",
      "new_id": "c911ea53785d6248dc9193eab6f403ba4def2a54",
      "new_mode": 33188,
      "new_path": ".bazelrc"
    },
    {
      "type": "modify",
      "old_id": "5416787afa7d1fa7689ba581e4d861ef830bc371",
      "old_mode": 33188,
      "old_path": "CHANGELOG.md",
      "new_id": "a137e9ded509a65e933c1314fac124878855239b",
      "new_mode": 33188,
      "new_path": "CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "ce7079c56048340adb3c55108a134c34074c4f53",
      "old_mode": 33188,
      "old_path": "examples/bzlmod/tests/BUILD.bazel",
      "new_id": "9f7aa1ba00c56dbee045ffeaed34ecd9cf812592",
      "new_mode": 33188,
      "new_path": "examples/bzlmod/tests/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "f1e142cc36d953dd0c366f0be18936a44c5f485b",
      "old_mode": 33188,
      "old_path": "python/config_settings/config_settings.bzl",
      "new_id": "9e6bbd6595d15d4ba6fdb9a8bc4f828be55bbb7a",
      "new_mode": 33188,
      "new_path": "python/config_settings/config_settings.bzl"
    },
    {
      "type": "modify",
      "old_id": "25937f0551ad83cb0f1293fd521f2c7ef048cdb9",
      "old_mode": 33188,
      "old_path": "python/private/BUILD.bazel",
      "new_id": "1017b09c840b2f0cc9679805b262f5f3372f3bd5",
      "new_mode": 33188,
      "new_path": "python/private/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "a31292287c02fc1b01eafaffa0267167f39307bc",
      "old_mode": 33188,
      "old_path": "python/private/bzlmod/BUILD.bazel",
      "new_id": "b636cca1a2348ae9af70595145fb5b99a21398dd",
      "new_mode": 33188,
      "new_path": "python/private/bzlmod/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "3889e13409d763ab4b33ddffaff770f47b6b26b9",
      "old_mode": 33188,
      "old_path": "python/private/bzlmod/pythons_hub.bzl",
      "new_id": "b002956bd97c220e744a16f7f9767dd8eabf9543",
      "new_mode": 33188,
      "new_path": "python/private/bzlmod/pythons_hub.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5b4b6f89729b61aebc77f3b6dfb13ee086306f3d",
      "new_mode": 33188,
      "new_path": "python/private/py_toolchain_suite.bzl"
    },
    {
      "type": "modify",
      "old_id": "c7b61780d8cb970f3464de341fe35621ced73c37",
      "old_mode": 33188,
      "old_path": "python/private/toolchains_repo.bzl",
      "new_id": "17ef1a3ad092227b73f682452c2b7b35e7f9bfc8",
      "new_mode": 33188,
      "new_path": "python/private/toolchains_repo.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "babd19f17ac6b65b8eff54e64561d291233d5c7a",
      "new_mode": 33188,
      "new_path": "tests/toolchains/config_settings/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0ecbd67b6268eb019129a1cb36930222a3246f75",
      "new_mode": 33188,
      "new_path": "tests/toolchains/config_settings/want"
    }
  ]
}
