)]}'
{
  "commit": "844e7ada6738fc0e1f040df3c967e778af2af1c7",
  "tree": "3c0f8490f264f2c5b6e682e4102b4cf3002debc5",
  "parents": [
    "abdf560f56490beb43c1e4d72338f8553bc4d73f"
  ],
  "author": {
    "name": "Richard Levasseur",
    "email": "rlevasseur@google.com",
    "time": "Sat Apr 19 20:18:40 2025 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sun Apr 20 03:18:40 2025 +0000"
  },
  "message": "release: 1.4.0 release prep (#2789)\n\nUpdates changelog and version markers.\n\nAlso updates the release docs with some shell-one liners to copy and\npaste to make it\na bit more mechanical.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "47ccd2459aa5c31ffa12087d4c7657d22c467734",
      "old_mode": 33188,
      "old_path": "CHANGELOG.md",
      "new_id": "1378853626cd704b6516181384e81610ea5aeea0",
      "new_mode": 33188,
      "new_path": "CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "82510b99c7f5f33b9510933db14aeb0122a4bef7",
      "old_mode": 33188,
      "old_path": "RELEASING.md",
      "new_id": "c9d46c39f09289df28f5c4b473d3ee78f2cef609",
      "new_mode": 33188,
      "new_path": "RELEASING.md"
    },
    {
      "type": "modify",
      "old_id": "f5c5638a8820e14c9c5a43432beffe13fdf5ecbf",
      "old_mode": 33188,
      "old_path": "python/current_py_toolchain.bzl",
      "new_id": "0ca5c90ccc7081462bfa319c4690f2cf521cdc13",
      "new_mode": 33188,
      "new_path": "python/current_py_toolchain.bzl"
    },
    {
      "type": "modify",
      "old_id": "8edfb698fc63d6372320bb8b0fe58e161e2d293c",
      "old_mode": 33188,
      "old_path": "python/features.bzl",
      "new_id": "917bd3800c718bbc118524485e5870da76bd92a4",
      "new_mode": 33188,
      "new_path": "python/features.bzl"
    },
    {
      "type": "modify",
      "old_id": "d1b45cfd7f11555bbd5e20bb41e66e82143f715c",
      "old_mode": 33188,
      "old_path": "python/local_toolchains/repos.bzl",
      "new_id": "320e503e1a4d12ac2cfb7845d911a8df5ccabb1a",
      "new_mode": 33188,
      "new_path": "python/local_toolchains/repos.bzl"
    },
    {
      "type": "modify",
      "old_id": "b190635cfe09f69b9d2e07257deefe1ee8d7ac29",
      "old_mode": 33188,
      "old_path": "python/packaging.bzl",
      "new_id": "223aba142dcc0372878f4312df96691fdaf2db37",
      "new_mode": 33188,
      "new_path": "python/packaging.bzl"
    },
    {
      "type": "modify",
      "old_id": "ff30431ff42e1f1fd7a426ff54b35b87244e4e9e",
      "old_mode": 33188,
      "old_path": "python/private/py_exec_tools_toolchain.bzl",
      "new_id": "332570b26b8aa75879088cd9375ab91a2edf1021",
      "new_mode": 33188,
      "new_path": "python/private/py_exec_tools_toolchain.bzl"
    },
    {
      "type": "modify",
      "old_id": "4ecd02a43803f1e3f88be93f21f7cc54e7c80e05",
      "old_mode": 33188,
      "old_path": "python/private/py_info.bzl",
      "new_id": "dc3cb24c51636b03188388c7b630b2a9e2e25a7d",
      "new_mode": 33188,
      "new_path": "python/private/py_info.bzl"
    },
    {
      "type": "modify",
      "old_id": "edd0db579f9e61dfc5fdaaa19acda3bf35d450e6",
      "old_mode": 33188,
      "old_path": "python/private/py_library.bzl",
      "new_id": "6b5882de5a7213c660b81a42a9b322a544a3810e",
      "new_mode": 33188,
      "new_path": "python/private/py_library.bzl"
    },
    {
      "type": "modify",
      "old_id": "d2ae132741b0cec983081253becff7660b36c9e4",
      "old_mode": 33188,
      "old_path": "python/private/pypi/extension.bzl",
      "new_id": "68776e32d07522c57a6840f53d59d8549a8ffde4",
      "new_mode": 33188,
      "new_path": "python/private/pypi/extension.bzl"
    },
    {
      "type": "modify",
      "old_id": "efc429420e2124026daca218ddeb877d6dd41906",
      "old_mode": 33188,
      "old_path": "python/private/python.bzl",
      "new_id": "f49fb26d521be2e7cfd22bef0f6f252d8c18af3b",
      "new_mode": 33188,
      "new_path": "python/private/python.bzl"
    }
  ]
}
