)]}'
{
  "commit": "60f10bf3d57b68dccf4e1dfd573a72ec8db114d5",
  "tree": "f4e33267a423a40aceab4e8b06e7f21a1ac0cc26",
  "parents": [
    "8ceeb63dd0a43d712d25f0a4ab2bcd3461f87577"
  ],
  "author": {
    "name": "Jonathan Amsterdam",
    "email": "jba@google.com",
    "time": "Wed May 20 12:40:50 2026 -0400"
  },
  "committer": {
    "name": "Jonathan Amsterdam",
    "email": "jba@google.com",
    "time": "Wed Jun 24 12:38:44 2026 -0700"
  },
  "message": "internal/api: use the new DB.GetVersionsForPath method\n\nUpdate the versions route to use the new DB method, which supports\npaging and changes the sort order.\n\nAdd query parameters for token and limit.\n\nAlso add a query to request pseudo-versions, which are omitted\nby default.\n\nOne problem: there is no cheap way to get the total number of versions\nin general; we only know for sure when there\u0027s just one page.\nWe use -1 in the API and document that this means we don\u0027t know.\n\nChange-Id: I58ca49a0e3f8b228a0aa2626e0e2982ec217540f\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/786041\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": "6e2beee37d990eb8dd96323a58925fd70e27b8e7",
      "old_mode": 33188,
      "old_path": "internal/api/api.go",
      "new_id": "4fb41c9d656914dd2e035b75e4df09f7a9e6cda5",
      "new_mode": 33188,
      "new_path": "internal/api/api.go"
    },
    {
      "type": "modify",
      "old_id": "81cf5c15639f567a825c13cf50040bdd7011d877",
      "old_mode": 33188,
      "old_path": "internal/api/openapi.yaml",
      "new_id": "292efd2b259a5a9e11b916ef39131bbbd43922ac",
      "new_mode": 33188,
      "new_path": "internal/api/openapi.yaml"
    },
    {
      "type": "modify",
      "old_id": "32b8403292a8a30bedffc8f1ab337e7bfe180d5c",
      "old_mode": 33188,
      "old_path": "internal/api/params.go",
      "new_id": "d2f4e6ee6d5b278707326417553812eac273f43b",
      "new_mode": 33188,
      "new_path": "internal/api/params.go"
    },
    {
      "type": "modify",
      "old_id": "73a561ecc3f0f4e463336e2d4521b5336ad9d43e",
      "old_mode": 33188,
      "old_path": "internal/datasource.go",
      "new_id": "a8ee7bfc0fc1298776a7f40f9f5a7062be4b9f77",
      "new_mode": 33188,
      "new_path": "internal/datasource.go"
    },
    {
      "type": "modify",
      "old_id": "500b082af699afc9245bd4264a2a2aa13cb61305",
      "old_mode": 33188,
      "old_path": "internal/fetchdatasource/fetchdatasource.go",
      "new_id": "11cb79c83175efa08090062b17c96744d8c8fd15",
      "new_mode": 33188,
      "new_path": "internal/fetchdatasource/fetchdatasource.go"
    },
    {
      "type": "modify",
      "old_id": "5bb217b72131fca7dbc887877108ea80768165ee",
      "old_mode": 33188,
      "old_path": "internal/interfaces.go",
      "new_id": "329a664339b12a5e6cc117e4de2962f25fc45840",
      "new_mode": 33188,
      "new_path": "internal/interfaces.go"
    },
    {
      "type": "modify",
      "old_id": "78d3a90a51139e9f62e07b4102f267ac45e7e656",
      "old_mode": 33188,
      "old_path": "internal/postgres/delete_test.go",
      "new_id": "6fa0b6f0c10c6f52049ff1569acf3d692f7f8d34",
      "new_mode": 33188,
      "new_path": "internal/postgres/delete_test.go"
    },
    {
      "type": "modify",
      "old_id": "b6000c27339459afee86e676e6eacbcbef2e63b4",
      "old_mode": 33188,
      "old_path": "internal/postgres/version.go",
      "new_id": "ae276381fe54c2437eb2314f19bbaf499c714071",
      "new_mode": 33188,
      "new_path": "internal/postgres/version.go"
    },
    {
      "type": "modify",
      "old_id": "296d07a358423bfc8334c0b01a0ffdc570a2757f",
      "old_mode": 33188,
      "old_path": "internal/postgres/version_test.go",
      "new_id": "88e655e0ba18409dd69b8df6b78297cd38849100",
      "new_mode": 33188,
      "new_path": "internal/postgres/version_test.go"
    },
    {
      "type": "modify",
      "old_id": "442490a5147e486464275a1255fbbe28de48680a",
      "old_mode": 33188,
      "old_path": "internal/testing/fakedatasource/fakedatasource.go",
      "new_id": "49cfd2eb41f8cb635572d2bdac5d5db8ec4ca01f",
      "new_mode": 33188,
      "new_path": "internal/testing/fakedatasource/fakedatasource.go"
    },
    {
      "type": "modify",
      "old_id": "fb6a9de017432fae405f0259e208a685e8800ae1",
      "old_mode": 33188,
      "old_path": "internal/tests/api/api_test.go",
      "new_id": "d5b22a91eebe96eca89333d63c5f8e63582fc960",
      "new_mode": 33188,
      "new_path": "internal/tests/api/api_test.go"
    }
  ]
}
