)]}'
{
  "commit": "4e0818fd86bffc0b4a4b61d3295a6732ba08d715",
  "tree": "958c8aa4a6c6509f23504f384ff1d8d0f8857de0",
  "parents": [
    "5964f499767097d81dbe034e8b541c3988168073"
  ],
  "author": {
    "name": "Daniel Cheng",
    "email": "dcheng@chromium.org",
    "time": "Fri Dec 05 01:35:19 2025 -0800"
  },
  "committer": {
    "name": "GN LUCI",
    "email": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Dec 10 10:15:30 2025 -0800"
  },
  "message": "Add a sha256 hash implementation and use it for string_hash\n\nEven for something that\u0027s not cryptographically-sensitive, it is better\nto avoid introducing new dependencies on known-broken hashes.\n\nBug: chromium:463302946\nChange-Id: Idc3dacc0d7d84845bfd3f9e9ec5147a7ec0347b2\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/20540\nReviewed-by: Łukasz Anforowicz \u003clukasza@chromium.org\u003e\nReviewed-by: Andrew Grieve \u003cagrieve@google.com\u003e\nCommit-Queue: Daniel Cheng \u003cdcheng@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5d161e4ee3d3da3c880131579d066a8d0cf4a542",
      "old_mode": 33261,
      "old_path": "build/gen.py",
      "new_id": "e5e2d7ed095a13270b59fb10c0e9d1f9cdcf6737",
      "new_mode": 33261,
      "new_path": "build/gen.py"
    },
    {
      "type": "modify",
      "old_id": "d5dfa0ffbb9fec65af2f3c384ea68e866de37796",
      "old_mode": 33188,
      "old_path": "docs/reference.md",
      "new_id": "7e848c7a398fe3850e915366fee70482c7cf8935",
      "new_mode": 33188,
      "new_path": "docs/reference.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e6fcc089d6ba4c1933ccb8d02a3632eb51b4f7fc",
      "new_mode": 33188,
      "new_path": "src/base/sha2.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "94dffe7873c30bbbe392c9148e2bb42b7dc401bc",
      "new_mode": 33188,
      "new_path": "src/base/sha2.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "99a08b0863265d43fef50cad1dc8220a34c7af7f",
      "new_mode": 33188,
      "new_path": "src/base/sha2_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "246e6683d65e237dca64dde40fee66ba382589ff",
      "old_mode": 33188,
      "old_path": "src/gn/functions.cc",
      "new_id": "830fcee7e78b60402ef107a1dbeb62d7c249dd2a",
      "new_mode": 33188,
      "new_path": "src/gn/functions.cc"
    },
    {
      "type": "modify",
      "old_id": "c51351a82babc8bac0a737b2298dcc1a722ac39b",
      "old_mode": 33188,
      "old_path": "src/gn/functions_unittest.cc",
      "new_id": "61a3b35336e7f1510a0873c0ea1130508c45409a",
      "new_mode": 33188,
      "new_path": "src/gn/functions_unittest.cc"
    }
  ]
}
