)]}'
{
  "commit": "ed7064f15feb061d21099e1b9867c69ab767001a",
  "tree": "1222aea40c732806cea78367862c4faad45917fd",
  "parents": [
    "a908831feec99c076619bc01885ae3ef1006b32a"
  ],
  "author": {
    "name": "Paul Cody",
    "email": "pcj@stack.build",
    "time": "Fri Dec 19 07:16:56 2025"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Dec 19 07:16:56 2025"
  },
  "message": "Add Bazel Central Registry (BCR) publishing support (#262)\n\n* Replace Node.js version header generator with C++ implementation\n\nReplaces the Node.js-based generate-version-header.js script with a C++\nimplementation to eliminate the Node.js runtime dependency from the build\nprocess. The new C++ tool reads package.json and generates the same\nversion.h header file.\n\nAlso fixes Closure Compiler errors under strict mode in\nextension_field_binary_info.js and map.js by properly assigning\ngoog.requireType calls to const variables instead of using standalone\ngoog.requireType calls.\n\nChanges:\n- Add generator/generate-version-header.cc with C++ implementation\n- Remove generate-version-header.js\n- Update generator/BUILD.bazel to use cc_binary instead of Node.js script\n- Add rules_cc dependency to MODULE.bazel\n- Update BUILD.bazel to remove deleted script from exports_files\n- Fix goog.requireType usage in extension_field_binary_info.js and map.js\n\n* Add BCR boilerplate\n\n* Add //:javascript target\n\n* Add patch to remove dist-related bazel targets from root BUILD file\n\n* Mark rules_pkg as a dev dependency\n\n* bcr: remove non-google maintainer\n\n* Remove version string in MODULE.bazel\n\n* Add e2e/bcr to bazelignore\n\nAlso add .bazelrc configuration to disallow auto-importing previously native symbols (e.g. sh_binary)",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "eac1fc44ba0b740841ba44a022baad69a9349a20",
      "new_mode": 33188,
      "new_path": ".bazelignore"
    },
    {
      "type": "modify",
      "old_id": "74109e994545f72a219475512b1ddef163f012f3",
      "old_mode": 33188,
      "old_path": ".bazelrc",
      "new_id": "7d6623d5eda4d0c766e79fc315bd5cdff883a584",
      "new_mode": 33188,
      "new_path": ".bazelrc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3ef34193e5db6c6d4e9708478a2561e08e8ac6b4",
      "new_mode": 33188,
      "new_path": ".bcr/metadata.template.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c18d015a02cb06300bc5344c6eeadaa9c81f0b46",
      "new_mode": 33188,
      "new_path": ".bcr/patches/remove-dist.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9502a9e70c77e391b1b4ef128e5506c4b25a1c53",
      "new_mode": 33188,
      "new_path": ".bcr/presubmit.yml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7dd7b58985fa8bc13ac3008744fc5c8474984932",
      "new_mode": 33188,
      "new_path": ".bcr/source.template.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b0108681872e2ea0dd8bce391f969dcd951b0c7f",
      "new_mode": 33188,
      "new_path": ".github/workflows/publish.yaml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c55d525294c40e0b4ec665b804f986f5a21d25bd",
      "new_mode": 33188,
      "new_path": ".github/workflows/release.yaml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0abe321814a109ec6c043103f2b45f1086d06210",
      "new_mode": 33261,
      "new_path": ".github/workflows/release_prep.sh"
    },
    {
      "type": "modify",
      "old_id": "7461adbb4184d4a22887332ebaaacbc79149f383",
      "old_mode": 33188,
      "old_path": "BUILD.bazel",
      "new_id": "b64b0575d21f446235ab1dd52b8605a75571e717",
      "new_mode": 33188,
      "new_path": "BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "3acc005cd8553163fab3e13b02fb0e89e868eea0",
      "old_mode": 33188,
      "old_path": "MODULE.bazel",
      "new_id": "4f76f54f972b4760054f04aa568ffa596357ab46",
      "new_mode": 33188,
      "new_path": "MODULE.bazel"
    },
    {
      "type": "modify",
      "old_id": "c7f541fffe18bea2d5712e362796771d1672ecb8",
      "old_mode": 33188,
      "old_path": "MODULE.bazel.lock",
      "new_id": "be3d31ca3a1286c5effc8d2039e59a740a9934b0",
      "new_mode": 33188,
      "new_path": "MODULE.bazel.lock"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "53485cb9743ae277a01eebf15e18e3bf684a2aa1",
      "new_mode": 33188,
      "new_path": "e2e/bcr/.bazelrc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ed76e1acb33f1a7ba98aaa60f6d941a0e8e1a157",
      "new_mode": 33188,
      "new_path": "e2e/bcr/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "70387b9cbc1ff0deafd134cac6fc914b8eeab5d9",
      "new_mode": 33188,
      "new_path": "e2e/bcr/MODULE.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d3a39270b8c72a854acda2dcecc0d7ca7ee64714",
      "new_mode": 33188,
      "new_path": "e2e/bcr/MODULE.bazel.lock"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "28a7ce86c9e98801695067683a5de7e8ad0e0a89",
      "new_mode": 33188,
      "new_path": "e2e/bcr/README.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ce38262902f0426b15e1a1fda04245a24e7f0f88",
      "new_mode": 33188,
      "new_path": "e2e/bcr/simple.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0ee4fccf79d79db3b8390a4116bfb26aa2113a72",
      "new_mode": 33261,
      "new_path": "e2e/bcr/simple_js_test.sh"
    }
  ]
}
