)]}'
{
  "commit": "d7c7117399990e73fd12964d7ea2c78967aa210e",
  "tree": "2643ca813cf10ec94789c415700d2c908ae7fc26",
  "parents": [
    "ea0592c50fd437dc07cec6f757f3010ede156f7a"
  ],
  "author": {
    "name": "Finn Ball",
    "email": "finn.ball@codificasolutions.com",
    "time": "Fri Jul 31 16:07:23 2026 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Jul 31 15:07:23 2026 +0000"
  },
  "message": "Add build_script_env_files crate annotation (#4166)\n\n## Summary\n\nAdd `build_script_env_files` support to `crate.annotation`, allowing\nenvironment files to be passed to generated `cargo_build_script`\ntargets.\n\nThe change:\n\n- Exposes `build_script_env_files` through bzlmod and legacy crate\nannotations.\n- Propagates the annotation through crate-universe configuration and\nbuild-script context.\n- Renders the attribute on generated `cargo_build_script` rules.\n- Supports unconditional and platform-selected values.\n- Updates the configuration digest.\n- Adds tests for annotation propagation and BUILD-file rendering.\n\n## Testing\n\n- `bazel test //crate_universe:unit_test`",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9c399bc12d265926c60241a89e32be7d29536ba1",
      "old_mode": 33188,
      "old_path": "cargo/private/cargo_build_script_runner/bin.rs",
      "new_id": "d1fe235b152e57185fd49bfea5e64522fac04f45",
      "new_mode": 33188,
      "new_path": "cargo/private/cargo_build_script_runner/bin.rs"
    },
    {
      "type": "modify",
      "old_id": "a473a9a60e3c044c08b00beff7f3dfc6b8a69034",
      "old_mode": 33188,
      "old_path": "crate_universe/extensions.bzl",
      "new_id": "384992e0d6d00c9c2c25c2c004456d12d044a1ae",
      "new_mode": 33188,
      "new_path": "crate_universe/extensions.bzl"
    },
    {
      "type": "modify",
      "old_id": "64ff76164aab2ad3631b5bb0e8030ad554bd009d",
      "old_mode": 33188,
      "old_path": "crate_universe/private/crate.bzl",
      "new_id": "b7d720bca609069c9222c26def2d60cc7510b170",
      "new_mode": 33188,
      "new_path": "crate_universe/private/crate.bzl"
    },
    {
      "type": "modify",
      "old_id": "09f0294c6489863f83262dbd05b7702ba8e21c2a",
      "old_mode": 33188,
      "old_path": "crate_universe/src/config.rs",
      "new_id": "336277ff82d40f1bd52432fd234c0b8beaa60025",
      "new_mode": 33188,
      "new_path": "crate_universe/src/config.rs"
    },
    {
      "type": "modify",
      "old_id": "f76b20a63c34c891864499ffcfe7cfc0dd8ddfa4",
      "old_mode": 33188,
      "old_path": "crate_universe/src/context/crate_context.rs",
      "new_id": "54d5a271ad90c49985c28b11065c8ade99069479",
      "new_mode": 33188,
      "new_path": "crate_universe/src/context/crate_context.rs"
    },
    {
      "type": "modify",
      "old_id": "3bf8f83954041e273950531afddb8d894339458f",
      "old_mode": 33188,
      "old_path": "crate_universe/src/lockfile.rs",
      "new_id": "b682e9bd2f1791b251a8be28b344d7645333ee5d",
      "new_mode": 33188,
      "new_path": "crate_universe/src/lockfile.rs"
    },
    {
      "type": "modify",
      "old_id": "2872851dcc794d58d4b79af6c6c9e91c69392db1",
      "old_mode": 33188,
      "old_path": "crate_universe/src/rendering.rs",
      "new_id": "00cd6577bd97edc968cd7c5798a3fe4e8dbe4194",
      "new_mode": 33188,
      "new_path": "crate_universe/src/rendering.rs"
    },
    {
      "type": "modify",
      "old_id": "4f122ea4f023ae78404bdb026b258c8cb0518abe",
      "old_mode": 33188,
      "old_path": "crate_universe/src/utils/starlark.rs",
      "new_id": "5bbf571497a4f544d9f854c0c0f4f9e7c90bb385",
      "new_mode": 33188,
      "new_path": "crate_universe/src/utils/starlark.rs"
    },
    {
      "type": "modify",
      "old_id": "312e08bf15b32088bfd0bdebb3b50bcc4c020f72",
      "old_mode": 33188,
      "old_path": "crate_universe/tests/integration/alias_rule/cargo-bazel-lock_global_alias_annotation_none.json",
      "new_id": "def3738ce75751a05d840b8e23ac08d921e730be",
      "new_mode": 33188,
      "new_path": "crate_universe/tests/integration/alias_rule/cargo-bazel-lock_global_alias_annotation_none.json"
    },
    {
      "type": "modify",
      "old_id": "964d59ec7f916afc86c17eee05a9d2edf4fecf0d",
      "old_mode": 33188,
      "old_path": "crate_universe/tests/integration/alias_rule/cargo-bazel-lock_global_alias_annotation_opt.json",
      "new_id": "bd73c67acce39a325b41afe76efba8fa6a627629",
      "new_mode": 33188,
      "new_path": "crate_universe/tests/integration/alias_rule/cargo-bazel-lock_global_alias_annotation_opt.json"
    },
    {
      "type": "modify",
      "old_id": "ea68ecf33bb2ff2fb20bf0399ba67e597e54d3fd",
      "old_mode": 33188,
      "old_path": "crate_universe/tests/integration/alias_rule/cargo-bazel-lock_global_custom_annotation_none.json",
      "new_id": "093a1e20acb927d19a843bbd634e2d12fa856774",
      "new_mode": 33188,
      "new_path": "crate_universe/tests/integration/alias_rule/cargo-bazel-lock_global_custom_annotation_none.json"
    },
    {
      "type": "modify",
      "old_id": "a30cb50c6f39bb7f0f1ed3f60854f4ae1e1a82cb",
      "old_mode": 33188,
      "old_path": "crate_universe/tests/integration/alias_rule/cargo-bazel-lock_global_dbg_annotation_fastbuild.json",
      "new_id": "49edb73256d68ebe69e9219928ce0c125c3b40ff",
      "new_mode": 33188,
      "new_path": "crate_universe/tests/integration/alias_rule/cargo-bazel-lock_global_dbg_annotation_fastbuild.json"
    },
    {
      "type": "modify",
      "old_id": "097eaae2a3694f5132e11cbba5616e833a1572d3",
      "old_mode": 33188,
      "old_path": "crate_universe/tests/integration/alias_rule/cargo-bazel-lock_global_opt_annotation_alias.json",
      "new_id": "fad153be2f5f94996f78a24ca84d785663802f45",
      "new_mode": 33188,
      "new_path": "crate_universe/tests/integration/alias_rule/cargo-bazel-lock_global_opt_annotation_alias.json"
    },
    {
      "type": "modify",
      "old_id": "ba9a70078042241b813ce4cc67bb386140423a00",
      "old_mode": 33188,
      "old_path": "crate_universe/tests/integration/alias_rule/cargo-bazel-lock_global_opt_annotation_dbg.json",
      "new_id": "9603af3cfd57cab81cb2c12d3bdb0bdd69b3f49c",
      "new_mode": 33188,
      "new_path": "crate_universe/tests/integration/alias_rule/cargo-bazel-lock_global_opt_annotation_dbg.json"
    },
    {
      "type": "modify",
      "old_id": "8b2a0eb7944c69f6b3db3bd2368449dfb0cdbf9f",
      "old_mode": 33188,
      "old_path": "crate_universe/tests/integration/alias_rule/cargo-bazel-lock_global_opt_annotation_none.json",
      "new_id": "9d426bebe4db90a9cf8ebe45e5380b29d6048f58",
      "new_mode": 33188,
      "new_path": "crate_universe/tests/integration/alias_rule/cargo-bazel-lock_global_opt_annotation_none.json"
    },
    {
      "type": "modify",
      "old_id": "e25d376777caaec79c04f1fdce56eab5c11b82e7",
      "old_mode": 33188,
      "old_path": "crate_universe/tests/integration/cargo_aliases/cargo-bazel-lock.json",
      "new_id": "21a991a094656e00fd5e71cbcbeab44c02c3992a",
      "new_mode": 33188,
      "new_path": "crate_universe/tests/integration/cargo_aliases/cargo-bazel-lock.json"
    },
    {
      "type": "modify",
      "old_id": "aba6a411b69bd0e212977d0db4a8be7e6b388ec6",
      "old_mode": 33188,
      "old_path": "crate_universe/tests/integration/complicated_dependencies/cargo-bazel-lock.json",
      "new_id": "1aa6c4fd68bf80455a3f7dcac8b2a44b053f4ab3",
      "new_mode": 33188,
      "new_path": "crate_universe/tests/integration/complicated_dependencies/cargo-bazel-lock.json"
    },
    {
      "type": "modify",
      "old_id": "51138e965e21ab6e14e7aba2230d1b1ce6f38769",
      "old_mode": 33188,
      "old_path": "crate_universe/tests/integration/multi_package/cargo-bazel-lock.json",
      "new_id": "efe6cf7c10784475c93e8e5f85b0c847dee4cb91",
      "new_mode": 33188,
      "new_path": "crate_universe/tests/integration/multi_package/cargo-bazel-lock.json"
    },
    {
      "type": "modify",
      "old_id": "1956c5a142ceef2ef679f8504e2dbf08f5b95659",
      "old_mode": 33188,
      "old_path": "crate_universe/tests/integration/override_target/cargo-bazel-lock.json",
      "new_id": "b288760a28c2e0c8f02f751f86b3724062c9fac6",
      "new_mode": 33188,
      "new_path": "crate_universe/tests/integration/override_target/cargo-bazel-lock.json"
    },
    {
      "type": "modify",
      "old_id": "c1c7e47d7f25774709702daaf2426bb5a0f2ac84",
      "old_mode": 33188,
      "old_path": "examples/cross_compile_nix/bazel/cargo/cargo-bazel-lock.json",
      "new_id": "98be714baf9037d1e0b4c4f9da6b9c49fb95e920",
      "new_mode": 33188,
      "new_path": "examples/cross_compile_nix/bazel/cargo/cargo-bazel-lock.json"
    }
  ]
}
