)]}'
{
  "commit": "fbe3302a7d3f9b3ab9222a46309cc353682c7647",
  "tree": "b399586b3156820534bbc8082abc71e8b6e2c951",
  "parents": [
    "67e0d86161409e0378b38d3511ddf1d8533a25f1"
  ],
  "author": {
    "name": "Jonathan Amsterdam",
    "email": "jba@google.com",
    "time": "Sun Sep 13 09:00:58 2026 -0400"
  },
  "committer": {
    "name": "Jonathan Amsterdam",
    "email": "jba@google.com",
    "time": "Fri Sep 18 11:41:08 2026 -0700"
  },
  "message": "internal/breakings: add the API type\n\nThis CL adds the exported surface of internal/breakings.\n\nAdd an API type to hold the API for a package at a version.\n\nDefine its Changes method to return the breaking changes betweeen two\nAPIs.\n\nThe extensive tests in the CL uncovered some bugs, marked by TODOs in\nthe test files, which we\u0027ll fix in upcoming CLs.\n\nChange-Id: I7a23ed436f73209d4145a3ad08391c0a6a6a6964\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/832184\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a4267e2bf9139b96568748112993b9547c48f61e",
      "old_mode": 33188,
      "old_path": "internal/breakings/api.go",
      "new_id": "fd2ccd723ea92c142bc66f7499b67b600971cc6a",
      "new_mode": 33188,
      "new_path": "internal/breakings/api.go"
    },
    {
      "type": "modify",
      "old_id": "7c3d84625e3348a414da66cc0b9707fc8e47eb77",
      "old_mode": 33188,
      "old_path": "internal/breakings/api_test.go",
      "new_id": "81e6f4764bc8259216d347785c1e076c24291c79",
      "new_mode": 33188,
      "new_path": "internal/breakings/api_test.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "13cd48de0bb75198d194167cd0fcb961b261ea85",
      "new_mode": 33188,
      "new_path": "internal/breakings/testdata/api.txtar"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fa4cd93f344d2996b73503cde654d7e6c8252e1c",
      "new_mode": 33188,
      "new_path": "internal/breakings/testdata/changes.txtar"
    },
    {
      "type": "modify",
      "old_id": "406f40cd69590dc8393cc50fa0fdc34d1b33adb3",
      "old_mode": 33188,
      "old_path": "internal/breakings/testdata/defs.txtar",
      "new_id": "e79f05f63a304f835cb7893c111ec9897a4397fe",
      "new_mode": 33188,
      "new_path": "internal/breakings/testdata/defs.txtar"
    }
  ]
}
