)]}'
{
  "commit": "e88cd73687aa969fbec16261e6c467ab22a053f2",
  "tree": "b0e7a1ab2729cbfebf1b5c979a2754df96538c9c",
  "parents": [
    "ca536658362e48af5dd9fad636bf2f029af0254e"
  ],
  "author": {
    "name": "Jason Phillips",
    "email": "jasonryanphillips@gmail.com",
    "time": "Mon Jul 27 11:06:47 2026 -0400"
  },
  "committer": {
    "name": "Sean Liao",
    "email": "sean@liao.dev",
    "time": "Mon Aug 24 12:50:58 2026 -0700"
  },
  "message": "cmd/gorelease: fix handling of circular module dependency\n\nWhen inferring a release version, gorelease currently defines\na versioned replace directive in the temporary go.mod created\nfor analysis. If the module being analyzed has an indirect\ndependency on itself the replace directive is not matched\nby the version selected during MVS, resulting in the analysis\nbeing performed against the indirect dependency version\nrather than the current branch.\n\nFixes golang/go#80497\n\nChange-Id: I8fa0a99272f1b63b6e06af68537c54edba4c285d\nReviewed-on: https://go-review.googlesource.com/c/exp/+/806400\nReviewed-by: Dmitri Shuralyov \u003cdmitshur@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Sean Liao \u003csean@liao.dev\u003e\nReviewed-by: David Chase \u003cdrchase@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "47cedc56c449ee39090d034101ea5bd10105740b",
      "old_mode": 33188,
      "old_path": "cmd/gorelease/gorelease.go",
      "new_id": "80bf195cbfa20ad1791dbbea52db269b1b6f25b5",
      "new_mode": 33188,
      "new_path": "cmd/gorelease/gorelease.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7245be944a8651cb39892761410d5339b7589405",
      "new_mode": 33188,
      "new_path": "cmd/gorelease/testdata/mod/example.com_transitive_v1.0.0.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "81aa37da7ec1d0687394765a8d8b2d11f0c1ba78",
      "new_mode": 33188,
      "new_path": "cmd/gorelease/testdata/mod/example.com_transitive_v1.1.0.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "288a6155dd38a5bcfee0a581c48217a35bac82b3",
      "new_mode": 33188,
      "new_path": "cmd/gorelease/testdata/mod/example.com_transitivedep_v1.0.0.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a27e4491c26068373b5a360d2f53a01b5c905877",
      "new_mode": 33188,
      "new_path": "cmd/gorelease/testdata/transitive/README.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "61dbc4f42fe26e82f7b711b6b71f1972fec64fea",
      "new_mode": 33188,
      "new_path": "cmd/gorelease/testdata/transitive/defined_release.test"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3fce2eb766ee5ec42ccbe0a5bd565367c98149db",
      "new_mode": 33188,
      "new_path": "cmd/gorelease/testdata/transitive/inferred_all.test"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "00acaf040777dceb9acac623cd71e7247538f7dd",
      "new_mode": 33188,
      "new_path": "cmd/gorelease/testdata/transitive/inferred_release.test"
    }
  ]
}
