)]}'
{
  "log": [
    {
      "commit": "deb78785c3ce936751c393f7eb5079a9ad63d841",
      "tree": "fd795a0c1709e2e21e768594fff097a7acfa0bb9",
      "parents": [
        "7b2d95261b4f3d6f041e01b8f8e8939db9e013ef"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Fri Jun 05 17:41:10 2026 +0000"
      },
      "committer": {
        "name": "Hyang-Ah Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Fri Jun 05 13:12:17 2026 -0700"
      },
      "message": "cmd/internal/doc: update dependencies\n\ngo get golang.org/x/pkgsite@latest\ngo mod tidy\n\nThe latest version of x/pkgsite is currently v0.1.0\n\nFor golang/go#79846\n\nChange-Id: Ib9191a19caa042f15c1719f56c3c21ad4933f5e6\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/787520\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Dmitri Shuralyov \u003cdmitshur@google.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Dmitri Shuralyov \u003cdmitshur@golang.org\u003e\n"
    },
    {
      "commit": "7b2d95261b4f3d6f041e01b8f8e8939db9e013ef",
      "tree": "95fb4c33dca5c16c44d78c736cd99b39f04faf17",
      "parents": [
        "b045357bb4e9728f75e705110c5ca0f7c7a78fbf"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Thu Jun 04 12:35:45 2026 -0400"
      },
      "committer": {
        "name": "Hyang-Ah Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Fri Jun 05 07:12:45 2026 -0700"
      },
      "message": ".github/workflow: remove github action workflow config\n\nWe do not use github action workflow.\n\nChange-Id: Ibd522d1affa69151ef7d733a19a5f02d82439224\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/787000\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Neal Patel \u003cnealpatel@google.com\u003e\nReviewed-by: Neal Patel \u003cneal@golang.org\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "b045357bb4e9728f75e705110c5ca0f7c7a78fbf",
      "tree": "7410978e800ae3f27989024fcc679a0bf9fb9f42",
      "parents": [
        "dd385e71fa5bbce7fdb4bcb4d3a8cdd9edae4a9e"
      ],
      "author": {
        "name": "Runxi Yu",
        "email": "runxiyu@umich.edu",
        "time": "Wed May 27 15:27:27 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Fri May 29 14:14:09 2026 -0700"
      },
      "message": "internal/stdlib: ignore global/system git config\n\nOtherwise options such as commit.gpgSign could cause test failures.\n\nChange-Id: I35a91ae1156bdf888f93473c514bef00cc6f5dcc\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/783501\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Neal Patel \u003cnealpatel@google.com\u003e\nReviewed-by: Neal Patel \u003cneal@golang.org\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nAuto-Submit: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\n"
    },
    {
      "commit": "dd385e71fa5bbce7fdb4bcb4d3a8cdd9edae4a9e",
      "tree": "8670a5839bbffe4ba590d4ef0249bb26f3944b7d",
      "parents": [
        "e5e6f656372b61a63bcdcc11deec8c35fda94a3e"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Thu May 28 11:31:11 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Thu May 28 11:41:46 2026 -0700"
      },
      "message": "internal/postgres: change versions sort order\n\nIn getPath versions, sort first by version,then by module path.\n\nModule path came first in order to group results by module when a package\nappears in more than one module. But it also results in out-of-order\nversions, because v11 sorts before v2. Now we only use the module path\nto break ties when versions are the same.\n\nIncompatible versions still come last.\n\nFixes #79632.\n\nChange-Id: I1b66135685a0b36478bb0380da03e515ae64b4cb\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/784460\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "e5e6f656372b61a63bcdcc11deec8c35fda94a3e",
      "tree": "3e35182973c2e5e4a1ff1e514f5f1bba93ce8097",
      "parents": [
        "d92682e4d6035d968a0a1307cda57b57b0168659"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed May 20 06:33:35 2026 -0400"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Thu May 28 11:40:49 2026 -0700"
      },
      "message": "internal/postgres: paginate versions query\n\nAdd start and limit args to the versions query so it can be\npaginated.\n\nChange-Id: I2f96911f74f91da4726127f87fff75f6fc7141f1\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/780340\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nAuto-Submit: Jonathan Amsterdam \u003cjba@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "d92682e4d6035d968a0a1307cda57b57b0168659",
      "tree": "ea337db7831b0e4bfd79d861543b1364482b103a",
      "parents": [
        "44da0d9f323557fe466a0db6e99061d2d0e00275"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed May 27 12:26:32 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Thu May 28 08:12:38 2026 -0700"
      },
      "message": "internal/api: ungroup search results\n\nThe DB search call would group all packages in a module under the one,\nhighest-scoring package. It would also omit modules in the same series\nbut with different major versions. That was the right choice for the UI,\nbut the API should show all matches ungrouped.\n\n- Change the grouping decision from a global one to a search option.\n\n- Group for the UI, but not for the API.\n\n- Improve API search tests to demonstrate ungrouping.\n\nFixes #79697.\n\nChange-Id: Ic26b83e35655bab93428ef14c1f3ca1014454279\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/783840\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\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\n"
    },
    {
      "commit": "44da0d9f323557fe466a0db6e99061d2d0e00275",
      "tree": "f89fb3e9bbb8166db7b3f0ecb64a2e7a19ca0b7b",
      "parents": [
        "7d7410150b734b09c095c04b196c75d653c2d3aa"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Fri May 22 07:15:54 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed May 27 11:31:25 2026 -0700"
      },
      "message": "cmd/internal/pkgsite-cli: add token flags\n\nAdd a flag for every paginated API route.\n\nChange-Id: Id4b9d021e4c8cd9d1472a0ec8721af5c488ba9c6\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/783480\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.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"
    },
    {
      "commit": "7d7410150b734b09c095c04b196c75d653c2d3aa",
      "tree": "6dce6619abdf268e110e08a1c725ec10dc8b8b4c",
      "parents": [
        "127e34cf4f4e12fd1ee84425305a0fb67e2a15ac"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Thu May 21 12:22:29 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed May 27 10:47:38 2026 -0700"
      },
      "message": "cmd/internal/pkgsite-cli: exit on 429\n\nIf we get a 429 response (too many requests) while iterating over\npages of results, stop and return what we have. The user\nwill have to start again with the page token.\n\nChange-Id: I26f9f80b634cdbc05f1b6185f53aeb4e1c391fab\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/781361\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "127e34cf4f4e12fd1ee84425305a0fb67e2a15ac",
      "tree": "cd785480608f15ee7522b6ff5e46e8d875f2895f",
      "parents": [
        "5636404d890e6787683c2c22dab4309b9dd0bd48"
      ],
      "author": {
        "name": "Oleksandr Redko",
        "email": "oleksandr.red@gmail.com",
        "time": "Sat May 23 18:50:13 2026 +0300"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Tue May 26 19:16:52 2026 -0700"
      },
      "message": "internal/queue: pgx/v4 to v5\n\npgx/v4 was upgraded to v5 in CL 758121, but it was added again in CL 751480.\n\nChange-Id: I03ef14ab4aa334431bff823a43e3e4024dbc6f1c\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/782200\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: David Chase \u003cdrchase@google.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nAuto-Submit: Jonathan Amsterdam \u003cjba@google.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "5636404d890e6787683c2c22dab4309b9dd0bd48",
      "tree": "c2fe3fdea3a6ba4ebe8aee60324926d21dbd80a7",
      "parents": [
        "8a1d8c20b74423758c4471d023fa04ff1cd63fd0"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Tue May 26 09:12:58 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Tue May 26 17:04:23 2026 -0700"
      },
      "message": "static/frontend/api/api.tmpl: fix list formatting\n\nRestore the list CSS properties to their original values so that\nthe lists in the API doc render properly.\n\nAlso tweak the language so it sounds less stiff.\n\nChange-Id: I41cb2686c2d2879b29208ff61937a8a467f0f618\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/783020\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nAuto-Submit: Jonathan Amsterdam \u003cjba@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nTryBot-Bypass: Jonathan Amsterdam \u003cjba@google.com\u003e\n"
    },
    {
      "commit": "8a1d8c20b74423758c4471d023fa04ff1cd63fd0",
      "tree": "907830404e179b29b582ba2af46fd88ad834009e",
      "parents": [
        "866fa310855a76cf898838dac1cc56850e15cca6"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Fri May 22 09:19:33 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Tue May 26 12:09:09 2026 -0700"
      },
      "message": "add vet command to all.bash\n\nSupport \"all.bash vet\". All the other linters have their own commands.\n\nI use this in a pre-push hook for basic validation before sending a CL.\n\nChange-Id: I5fbc4db3767f5dab80c9224a9ebc07ef5aac6e35\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/781860\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\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\n"
    },
    {
      "commit": "866fa310855a76cf898838dac1cc56850e15cca6",
      "tree": "d167e06afeee0965376d43d0f20411e312f739dd",
      "parents": [
        "2641079310745c8d3d912491d2342c7fb558b449"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Fri May 15 09:42:35 2026 -0400"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Fri May 22 05:12:35 2026 -0700"
      },
      "message": "internal/api: filters as Go expressions\n\n- Provide an interpreter for a subset of Go.\n\n- Define a replacement for the filter function that treats filters as Go expressions.\n\n- Change filters to use the new evaluator.\n\nChange-Id: I2af6069d90c7ec1f9f98820799dbf3e2998fe688\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/778180\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\nAuto-Submit: Jonathan Amsterdam \u003cjba@google.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "2641079310745c8d3d912491d2342c7fb558b449",
      "tree": "327e2ba927bbd600959199d431c7c60247fb8669",
      "parents": [
        "14069cada9e63e6edd63892ba2dc4208afe92a39"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Wed May 20 22:05:11 2026 +0000"
      },
      "committer": {
        "name": "Hyang-Ah Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Thu May 21 18:16:50 2026 -0700"
      },
      "message": "all.bash, internal/static: quote find patterns and support TypeScript headers\n\nFixes golang/go#79404\n\nChange-Id: I8f1ad129d00749568e48ecd83d6ddcfedc80030d\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/780840\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "14069cada9e63e6edd63892ba2dc4208afe92a39",
      "tree": "4a785b059b9cb4b62b4ea13149dd2c192c4e5724",
      "parents": [
        "e8d7ae6688ac37f80ca16d0dcf32c44f51ea6e73"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Thu May 21 11:18:15 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Thu May 21 17:44:13 2026 -0700"
      },
      "message": "cmd/internal/pkgsite-cli: add -x flag\n\nAdd a flag that will print all URLs that the tool visits.\n\nChange-Id: Icf55fc3aa6d541afaed282b7ec8cdb05a6c2a783\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/781300\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "e8d7ae6688ac37f80ca16d0dcf32c44f51ea6e73",
      "tree": "38e6409b2a05ebf2cf892f0098565ef0f02acdbb",
      "parents": [
        "6edc7aa7729572b6cdf20f0b6b218c78f1aa93d7"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Thu May 21 15:02:51 2026 +0000"
      },
      "committer": {
        "name": "Hyang-Ah Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Thu May 21 11:53:03 2026 -0700"
      },
      "message": "cmd/internal/pkgsite-cli: move the design memo to the package dir\n\nThis change will make the memo shown in pkgsite.\nAlso apply minor polishing of help message and source code documentation.\n\nChange-Id: Ia26e705171aea9d649e3469ad14ba256ba044ebc\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/781241\nReviewed-by: Jonathan Amsterdam \u003cjba@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: Ethan Lee \u003cethanalee@google.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "6edc7aa7729572b6cdf20f0b6b218c78f1aa93d7",
      "tree": "6aa1bac60928cc086ebc139020b03f003a091a1e",
      "parents": [
        "84e6d1c09c0cf1cb944cc82c85147b12e0776453"
      ],
      "author": {
        "name": "nveuhp",
        "email": "nveuhp@gmail.com",
        "time": "Wed May 13 11:09:03 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Thu May 21 08:32:39 2026 -0700"
      },
      "message": "internal: remove unused package xcontext\n\nPackage xcontext is unused and all of its functionality has been\nimplemented in context package since go1.21.0 (xcontext.Detach -\u003e\ncontext.WithoutCancel).\n\nChange-Id: I83ac4504bff03806d171ef0b32a6065366b5b79b\nGitHub-Last-Rev: e8197d8bda8b739e3d6d6ec4f41df1e3b4eaa621\nGitHub-Pull-Request: golang/pkgsite#131\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/777580\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nAuto-Submit: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "84e6d1c09c0cf1cb944cc82c85147b12e0776453",
      "tree": "f7755949a006cbaddc77a5940a5ddfc4640cf518",
      "parents": [
        "45810dc8a08e4d054cf81fbda67382d298c92385"
      ],
      "author": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Mon May 18 22:17:22 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Wed May 20 14:18:05 2026 -0700"
      },
      "message": "internal/api: flatten symbols endpoint output\n\nFlatten the package symbols list returned by the database (GetSymbols)\ninstead of nesting them under \u0027Children\u0027, allowing all symbols (including\ntype methods, fields, and constructors) to be returned as flat items in\nthe \u0027symbols\u0027 API response.\n\nTo support this flatter structure, we leveraged the existing \u0027parent\u0027 reference field in\u0027api.Symbol\u0027 to point parented symbols (methods, fields) to their containing types.\n\nChange-Id: I71af9051b8e7f94a40fb24aa4b46dd32a4c50025\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/779441\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nAuto-Submit: Ethan Lee \u003cethanalee@google.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "45810dc8a08e4d054cf81fbda67382d298c92385",
      "tree": "36897a74fbcc7a6354ffb0ccafecc931f49ac509",
      "parents": [
        "ecf8f67b11db91a77b2d5e8c043c49227eb6245d"
      ],
      "author": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Wed May 20 02:59:08 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Wed May 20 11:34:12 2026 -0700"
      },
      "message": "internal/api: support package-level vulnerability filtering\n\nUpdate the v1beta vulnerabilities endpoint to accept both module paths\nand package paths.\n\nWhen a package path is supplied, the handler resolves the containing\nmodule path via resolveModulePath and then passes the package path as a\nfilter to vuln.VulnsForPackage.\n\nWhen a module path is supplied, it returns all vulnerabilities for that\nmodule.\n\nAlso expose a `module` query parameter in VulnParams to allow resolving\nambiguous package paths.\n\nChange-Id: I8666f98d1d05d9426eef67deb0e28ca193f50111\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/780182\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nAuto-Submit: Ethan Lee \u003cethanalee@google.com\u003e\n"
    },
    {
      "commit": "ecf8f67b11db91a77b2d5e8c043c49227eb6245d",
      "tree": "50a3386cf35c65c3235a8b9c1d4d663d1c2c902d",
      "parents": [
        "a9a7cdc5848a9e0bd0f3c08cf12ea7198a5f5418"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Sun May 10 00:14:52 2026 +0000"
      },
      "committer": {
        "name": "Hyang-Ah Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Wed May 20 10:51:04 2026 -0700"
      },
      "message": "internal/api: extract comments as descriptions for OpenAPI schemas\n\nUpdate generateSchemas in openapi_test.go to extract field doc\nor comment and use it as the description in the generated OpenAPI schema.\nAlso update openapi.yaml with the regenerated spec.\n\nChange-Id: Ic3c64701315fcc18bfdcf86bdd978253a905e653\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/776420\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\n"
    },
    {
      "commit": "a9a7cdc5848a9e0bd0f3c08cf12ea7198a5f5418",
      "tree": "08c19b765abed441b5344d96f606cb281ea7fed8",
      "parents": [
        "101d6e9830a150c7f5e404a388a73b0000d8059f"
      ],
      "author": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Tue May 19 23:22:50 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Tue May 19 17:19:41 2026 -0700"
      },
      "message": "devtools/ci, tests/screentest: capture and upload screentest diffs on failure\n\nEnsure that visual regression screenshot diffs generated during failing\nscreentests are successfully uploaded and archived in Kokoro.\n\nChange-Id: I88b5d60299af906da3adc8a324da20ac7ca0e541\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/780160\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\nAuto-Submit: Ethan Lee \u003cethanalee@google.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\n"
    },
    {
      "commit": "101d6e9830a150c7f5e404a388a73b0000d8059f",
      "tree": "02129b324bc9d1b001f5a38629bea46ca499ba02",
      "parents": [
        "150251138fe7e0732860ec43a7f586061e7f1985"
      ],
      "author": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Mon May 18 22:04:29 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Tue May 19 14:44:52 2026 -0700"
      },
      "message": "internal/api: strictly validate module paths\n\nEnsure that resolved module paths exactly match the requested URL path.\nIf a package path is passed instead of a module path, the API will\nreturn a descriptive HTTP 400 BadRequest error advising the client of\nthe correct module path rather than silently returning the containing\nmodule\u0027s metadata.\n\nChange-Id: Icfcdedd057b93b592c8a611dae907cd6efb2d22a\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/779460\nAuto-Submit: Ethan Lee \u003cethanalee@google.com\u003e\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "150251138fe7e0732860ec43a7f586061e7f1985",
      "tree": "bd52ee2cfe1e5d320b0495179e75b12e3061c09e",
      "parents": [
        "2a580043fb8e64b02c791f1eb34fb7eb335cdea2"
      ],
      "author": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Thu May 14 20:20:22 2026 +0000"
      },
      "committer": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Tue May 19 14:20:51 2026 -0700"
      },
      "message": "cmd/internal/pkgsite-cli: support -goos and -goarch flags in package command\n\nRe-introduce the -goos and -goarch flags to the package subcommand\nto provide an explicit, highly discoverable way to override the target\nbuild context when querying package package metadata or symbols.\n\nAdditionally, default to empty strings for target GOOS/GOARCH instead\nof always auto-detecting the host\u0027s build context. This allows the\npkg.go.dev API to gracefully fall back to its best available context\n(typically linux/amd64), resolving 404 symbols and empty documentation\nfailures on macOS and Windows out-of-the-box. The following occurred on\nmacOS for example:\n\n$ pkgsite-cli package -symbols go.starlark.net/starlark\nnot found (HTTP 404)\n\nCompletely remove the dependency on spawning the \u0027go env\u0027 child\nprocess, which prevents startup crashes in environments without the\nGo SDK installed.\nMake the target build context transparent by printing it under the\nnew \u0027Context\u0027 header in the formatted CLI output.\n\nChange-Id: Ic46a4317ab671707ff04436e36650a440a128452\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/778061\nReviewed-by: Jonathan Amsterdam \u003cjba@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\nAuto-Submit: Ethan Lee \u003cethanalee@google.com\u003e\n"
    },
    {
      "commit": "2a580043fb8e64b02c791f1eb34fb7eb335cdea2",
      "tree": "543c86f7a99ee5b29f203f6de9d8b5168ace1808",
      "parents": [
        "985069fedf0324d089c02608911ff65f499c09cc"
      ],
      "author": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Tue May 19 03:09:13 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Tue May 19 08:25:55 2026 -0700"
      },
      "message": "internal/api: include version queries in param docs\n\n- Update docs to reflect support for version queries.\n- Unify formatting to use proper capitalization and punctuation.\n\nChange-Id: I2dbbf6b89ec219b087838a567d93b3753fcd1a7f\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/779580\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nAuto-Submit: Ethan Lee \u003cethanalee@google.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\n"
    },
    {
      "commit": "985069fedf0324d089c02608911ff65f499c09cc",
      "tree": "5995c52654602ba58833fe8d2a058d0e56477d3b",
      "parents": [
        "c5b0405f9acb40e64bc20594485c054623522aeb"
      ],
      "author": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Tue May 19 14:52:46 2026 +0000"
      },
      "committer": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Tue May 19 08:22:58 2026 -0700"
      },
      "message": "cmd/internal/pkgsite-cli/client: return fix suggestions\n\nExample:\nrequest timed out\nTo fix:\n  - use the -timeout flag to increase the timeout\n  - reduce size of request by limiting items returned\n\nChange-Id: I6341e92743a9c00bafb6a415a59f1ba5e1490073\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/779600\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nAuto-Submit: Ethan Lee \u003cethanalee@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "c5b0405f9acb40e64bc20594485c054623522aeb",
      "tree": "7a1ff413c7a88d771fa55cf98cfbd6727fd07fc9",
      "parents": [
        "52a1a50c8e997660b6e75e1d0cde95ee7cf48268"
      ],
      "author": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Thu May 14 20:20:01 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Mon May 18 14:31:38 2026 -0700"
      },
      "message": "internal/api: validate doc format early in ServePackage\n\nValidate the doc format and examples parameter early in ServePackage\ninstead of downstream in the unitToPackage helper. This ensures that\ninvalid requests are immediately rejected with HTTP 400.\n\nChange-Id: I9487380ce664fc271cb4a493d174a4ed3496ce16\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/778060\nAuto-Submit: Ethan Lee \u003cethanalee@google.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "52a1a50c8e997660b6e75e1d0cde95ee7cf48268",
      "tree": "0b71b14c0bced7a4c43fcd0c40d0ff0ff92ef235",
      "parents": [
        "a5fcada8aa006fec3698037f4702e66122994e6c"
      ],
      "author": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Mon May 18 18:29:18 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Mon May 18 12:10:09 2026 -0700"
      },
      "message": "internal/frontend: dynamically determine scheme in apiDocHandler\n\nUse dynamic scheme detection (http vs https) in apiDocHandler based\non the request\u0027s TLS state or headers (X-Forwarded-Proto and\nX-Appengine-Https) instead of hardcoding \"http://\".\n\nThis fixes an issue on pkg.go.dev/api where the Example response\ncontained the error: \"read tcp... \". This is due to loopback calls\nfailing when trying to redirect insecure HTTP traffic to HTTPS.\n\nChange-Id: Idcbbd10c3c485f0800188ab874df2d3da049331d\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/779262\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nAuto-Submit: Ethan Lee \u003cethanalee@google.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "a5fcada8aa006fec3698037f4702e66122994e6c",
      "tree": "49b665a14e5d5e3534275b293199a1118f8677f0",
      "parents": [
        "3662859e092122ec5b1a93842b75f6f82bbd0853"
      ],
      "author": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Thu May 14 01:13:34 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Thu May 14 07:28:33 2026 -0700"
      },
      "message": "internal/frontend: fall back to process env when go env fails\n\nWhen pkgsite is deployed to prod containers (using debian:stable-slim\nfor example), the Go CLI binary is not installed. Previously\nloadGoPrivatePatterns failed when executing `go env`, setting cfg.ok \u003d\nfalse and short-circuiting all external link lookups (deps.dev and\ncodewiki.google) for all public modules.\n\nUltimately this altered page load timing on staging, causing screentests\nto fail. This change restores proper external link lookups in prod and\nstaging.\n\nChange-Id: I6cebca582b556c9a2227bd9f6c0f0a20afa6d8ac\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/777840\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nAuto-Submit: Ethan Lee \u003cethanalee@google.com\u003e\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "3662859e092122ec5b1a93842b75f6f82bbd0853",
      "tree": "a88e3b4b5e4e8e18778387dde0f20937b14ba6b8",
      "parents": [
        "0ac5e349e448f40f0e5352358d17671b0de8b0c8"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Tue May 12 17:54:36 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed May 13 12:40:56 2026 -0700"
      },
      "message": "internal/tests/api: ignore TestAPI/db/module commit time\n\nInteractions with the DB using local time and JSON truncating times\nto the nearest minute caused CommitTime comparisons to fail with the DB.\nIgnore commit time.\n\nChange-Id: I5411a04e2fbeeed4760c09d612dbc637c593b861\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/777440\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\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\n"
    },
    {
      "commit": "0ac5e349e448f40f0e5352358d17671b0de8b0c8",
      "tree": "c772b2a01743f263474b2ca2f9a699c2c49055a4",
      "parents": [
        "07ee23cc20485a991b5ced93741de1e1337e76ab"
      ],
      "author": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Tue May 12 20:51:56 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Tue May 12 14:30:06 2026 -0700"
      },
      "message": "tests: update screen test to prevent dynamic banner\n\nDefinitely hide the cookie consent banner to prevent late loading\nnotices from causing layout shifts.\n\nChange-Id: Ia08196bba2e2ded93ecc2ab4e7e7df799bb24de4\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/777420\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nAuto-Submit: Ethan Lee \u003cethanalee@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "07ee23cc20485a991b5ced93741de1e1337e76ab",
      "tree": "b070652002df25a0b532f9e5881d282b21ac8361",
      "parents": [
        "741a13237f9f3ebd07efa49d85d998446aa9ffcb"
      ],
      "author": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Tue May 12 18:23:11 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Tue May 12 11:55:40 2026 -0700"
      },
      "message": "deploy: fix typo in deploy-env.yaml\n\nPreviously failing with the following: Failed to trigger build: failed unmarshalling build config deploy/deploy-env.yaml: yaml: line 23: did not find expected key\n\nChange-Id: I42692948a2b30008b4709a7a6ffeca84a693086c\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/777300\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nAuto-Submit: Ethan Lee \u003cethanalee@google.com\u003e\n"
    },
    {
      "commit": "741a13237f9f3ebd07efa49d85d998446aa9ffcb",
      "tree": "1f97266c8efcfad229ab926d84d014c7b7bf1473",
      "parents": [
        "5ebaea62af623a6ff7a4ab3bebcd42f2ded7deba"
      ],
      "author": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Tue May 12 18:11:42 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Tue May 12 11:47:54 2026 -0700"
      },
      "message": "tests: hide dynamic banner in screen tests\n\nIncrease test stability by hiding dynamic banner for screen tests.\n\nChange-Id: Ieb8b49c345cfea72007b3659aad060739aa33dc3\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/777260\nCommit-Queue: Ethan Lee \u003cethanalee@google.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@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\nAuto-Submit: Ethan Lee \u003cethanalee@google.com\u003e\n"
    },
    {
      "commit": "5ebaea62af623a6ff7a4ab3bebcd42f2ded7deba",
      "tree": "02d06ecadf792b91b7d03a26cdb71e57c1b24ff1",
      "parents": [
        "46aa8be0cc783be4f1e7c5af30901c0c23218ce7"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Mon May 11 20:10:50 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Tue May 12 06:45:08 2026 -0700"
      },
      "message": "internal/api: fix examples to use v1beta\n\nChange-Id: I424121e604ce8b161b288c70bfaba2b94be9a3d2\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/777080\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "46aa8be0cc783be4f1e7c5af30901c0c23218ce7",
      "tree": "25d20c5fea618ab7fe1b5633138148852c0ab399",
      "parents": [
        "6e05c60a70fe6ed40a9cd262aa8e8adc57042aef"
      ],
      "author": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Sat May 09 17:14:47 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Mon May 11 15:54:24 2026 -0700"
      },
      "message": "cmd/internal/pkgsite-cli: add timeout flag and handle timeouts gracefully\n\nChange-Id: Ie6a2891c88b241318ab99c6570864b2015e09de5\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/776381\nAuto-Submit: Ethan Lee \u003cethanalee@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\n"
    },
    {
      "commit": "6e05c60a70fe6ed40a9cd262aa8e8adc57042aef",
      "tree": "b31222fc2682789adf469b64b19e37d856ac5253",
      "parents": [
        "9b8369c15ec9f85baa344f13d49dd576e4ea9c46"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Mon May 11 17:21:21 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Mon May 11 13:59:27 2026 -0700"
      },
      "message": "internal/source: clean up redundancies and typos after CL 708175\n\nRemove redundant assignment of repoSubdir and redundant break in\nswitch statement in internal/source/meta-tags.go.\nFix typos in comments (\"minium\" -\u003e \"minimum\").\n\nChange-Id: I24e413c3942f5af50dfeec594b96b680b04ff7e2\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/776840\nAuto-Submit: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Nicholas Husin \u003cnsh@golang.org\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Nicholas Husin \u003chusin@google.com\u003e\n"
    },
    {
      "commit": "9b8369c15ec9f85baa344f13d49dd576e4ea9c46",
      "tree": "ceba7d08fd8484dcb7cd24aed013e65a17144491",
      "parents": [
        "38ac2976f30d821c2e1426d780eeb4596f32a5e2"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Sat May 09 10:36:41 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Mon May 11 10:28:45 2026 -0700"
      },
      "message": "internal/api, etc.: paginate GetImportedBy\n\nPaginate the GetImportedBy query on the database.\n\n- Add keyset-based start path and limit parameter constraints\n  toDataSource.GetImportedBy.\n  \u0027from_path \u003e\u003d $3\u0027 makes use of the existing composite primary key\n  index (to_path, from_path, from_module_path) on imports_unique.\n\n - Restrict the API limit to a maximum of 1000 to protect database\n   resources.\n\n - Since the tokens can now be arbitrarily long strings, use a\n   more general encryption technique supporting multiple blocks\n   to obfuscate them.\n\nOne consequence of this work: because a filter may eliminate every\nitem on a page, we might serve pages with zero items. This is\ndocumented, and it is a feature (for us) because it lets us bound the\nwork on each query.\n\nChange-Id: Ie9bf8ecfa395a003417d64028d5d0c311dbef561\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/776360\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.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"
    },
    {
      "commit": "38ac2976f30d821c2e1426d780eeb4596f32a5e2",
      "tree": "64d760ed22503741a86cac6c36743abde2af2394",
      "parents": [
        "2a5c51fc7f12c9cad01b83a26a395925d63a58f5"
      ],
      "author": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Sat May 09 05:11:07 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Mon May 11 10:02:26 2026 -0700"
      },
      "message": "internal/api: avoid leaking internal parsing errors\n\nAvoid leaking internal errors such as the following:\n{\"code\":400,\"message\":\"invalid value \\\"abc\\\" for limit: strconv.ParseInt: parsing \\\"abc\\\": invalid syntax\"}\n\nChange-Id: Id5c6e6a86e0b079d86c555923f8d765abdaac271\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/775625\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nAuto-Submit: Ethan Lee \u003cethanalee@google.com\u003e\n"
    },
    {
      "commit": "2a5c51fc7f12c9cad01b83a26a395925d63a58f5",
      "tree": "6586373139222d2af3dbba6412d107a454f4ea18",
      "parents": [
        "bb6758837a563537e7785dfae528a3eee766109e"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Mon May 11 12:46:49 2026 +0000"
      },
      "committer": {
        "name": "Hyang-Ah Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Mon May 11 09:05:13 2026 -0700"
      },
      "message": "cmd/internal/pkgsite-cli: include output format in help messages\n\nChange-Id: I297c871ce61e747ffffd3f80c9792318212bf286\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/776680\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\n"
    },
    {
      "commit": "bb6758837a563537e7785dfae528a3eee766109e",
      "tree": "b667ea7a90a9d213e9e9803e2687c3a9f1543f48",
      "parents": [
        "79caf84f10215f8872c96e9e870f33e6407eb124"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Sun May 10 12:33:59 2026 -0400"
      },
      "committer": {
        "name": "Hyang-Ah Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Mon May 11 08:51:19 2026 -0700"
      },
      "message": "all: update typescript 5.9.3 -\u003e 6.0.3\n\nBump TypeScript to the latest major. typescript-eslint 8.59.2 already\nsatisfies the new \"\u003c6.1.0\" peer cap, so no plugin bumps are needed.\n\nTS 6 changes that affect this project:\n\n  - \"baseUrl\" is now a deprecation error. We still rely on it for the\n    \"static/shared/...\" import style, and migrating to \"paths\" is a\n    distinct change. Set \"ignoreDeprecations\": \"6.0\" to defer that\n    cleanup; revisit when prepping for TS 7.\n\n  - The implicit moduleResolution\u003dnode10 is also deprecated and is\n    silenced by the same flag.\n\n  - Auto-discovery of @types/node no longer kicks in unless it is a\n    direct devDependency and listed in compilerOptions.types.\n    Pin @types/node@20.19.40 (matching engines.node \"\u003e\u003d20.0.0\") and\n    set \"types\": [\"node\"] so static/markdown.ts\u0027s `import fs` resolves.\n\nChange-Id: I94ad1a1785f8d7c07a4a4f58e941e26648f82149\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/776543\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\n"
    },
    {
      "commit": "79caf84f10215f8872c96e9e870f33e6407eb124",
      "tree": "8284ccfb3ce7403ed16fe162c896e4f74f81032f",
      "parents": [
        "a45089e64a32baa4c1f56a22ebb4761f25702c39"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Sun May 10 12:30:43 2026 -0400"
      },
      "committer": {
        "name": "Hyang-Ah Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Mon May 11 08:51:10 2026 -0700"
      },
      "message": "static: drop marked dep, extract code fences with a regex\n\nReplace static/markdown.ts\u0027s use of marked with a small regex that\nconcatenates the contents of all fenced code blocks (```...```) in the\ninput file. This matches the original behavior, where the only marked\nrenderer override was code: ({text}) \u003d\u003e text -- the test harness only\never needed the inner HTML of the fenced blocks, not the surrounding\nmarkdown.\n\nMotivation: marked v5+ is ESM-only, so updating it past 4.0.10 would\nrequire migrating the jest test setup to ESM mode (extensionsToTreatAsEsm,\nuseESM, --experimental-vm-modules, \"import { jest } from \u0027@jest/globals\u0027\"\nin every test file, an import.meta.url-derived __dirname polyfill, etc.).\nThat is a much larger surgery than the trivial markdown extraction\nwarrants. Removing the dep entirely is simpler and leaves no security\nsurface from an unmaintained 4.x line.\n\n@types/marked is also no longer needed.\n\nChange-Id: I63a569dfd0c091974d7beacbf5e6d1c720736910\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/776542\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "a45089e64a32baa4c1f56a22ebb4761f25702c39",
      "tree": "db25ac1ac1791122c5593f44953bf3c4b8aa56a8",
      "parents": [
        "334faae8651c4c7f23ab40a161313cdee7b9b686"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Sun May 10 12:22:56 2026 -0400"
      },
      "committer": {
        "name": "Hyang-Ah Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Mon May 11 08:50:59 2026 -0700"
      },
      "message": "all: bump jest, ts-jest, globals; clear npm audit advisories\n\nPick up the safe-to-take dev dependency updates that remained after the\nESLint v10 upgrade:\n\n  jest                     29.7.0  -\u003e 30.4.2\n  jest-environment-jsdom   29.7.0  -\u003e 30.4.1\n  ts-jest                  29.4.5  -\u003e 29.4.9\n  globals                  15.14.0 -\u003e 17.6.0\n\nBumping jest-environment-jsdom to 30.x clears the four low-severity\n@tootallnate/once advisories (jest-environment-jsdom -\u003e jsdom -\u003e\nhttp-proxy-agent -\u003e @tootallnate/once), and \"npm audit fix\" pulls in a\npatched brace-expansion to clear the remaining moderate advisory.\n\"npm audit\" now reports 0 vulnerabilities.\n\nJest 30 removed the deprecated alias matcher toBeCalled; replace with\ntoHaveBeenCalled in keyboard.test.ts. Snapshot header URLs are also\nrewritten by jest 30 (no content changes).\n\nDefer marked 4 -\u003e 18 (requires rewriting static/markdown.ts for the new\nasync/ESM API) and typescript 5.9 -\u003e 6 (outside typescript-eslint 8.x\u0027s\npeer range).\n\nChange-Id: I340afbc30a810943d0d8b15933458eaf8d025f7d\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/776541\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\n"
    },
    {
      "commit": "334faae8651c4c7f23ab40a161313cdee7b9b686",
      "tree": "af7289a2c52f8dfd706f3882c4a2ee3c4c750b2f",
      "parents": [
        "cf894f7e330f4f2407075a1fc1bae341a30bb2d4"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Sun May 10 12:17:59 2026 -0400"
      },
      "committer": {
        "name": "Hyang-Ah Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Mon May 11 08:46:46 2026 -0700"
      },
      "message": "all: update ESLint and related JS dev dependencies\n\nUpdate the JavaScript/TypeScript dev toolchain to current versions:\n\n  eslint                       8.1.0  -\u003e 10.3.0\n  typescript-eslint            5.2.0  -\u003e 8.59.2 (consolidated package)\n  eslint-plugin-jest           25.2.2 -\u003e 29.15.2\n  eslint-plugin-prettier       3.3.0  -\u003e 5.5.5\n  eslint-config-prettier       6.14.0 -\u003e 10.1.8\n  prettier                     2.1.2  -\u003e 3.8.3\n  typescript                   4.0.3  -\u003e 5.9.3\n  jest                         27.3.1 -\u003e 29.7.0\n  ts-jest                      27.0.7 -\u003e 29.4.5\n  stylelint                    14.2.0 -\u003e 17.11.0\n  stylelint-config-standard    24.0.0 -\u003e 40.0.0\n  stylelint-prettier           2.0.0  -\u003e 5.0.3\n  stylelint-order              5.0.0  -\u003e 8.1.1\n\nESLint v9 dropped legacy .eslintrc.* config and v10 dropped\n.eslintignore; migrate to flat config (eslint.config.js).\n\nts-jest v29 removed ts-jest/utils; replace mocked() with jest.mocked.\n\nPrettier 3 changes the trailing-comma default; reformat affected files.\nstylelint-config-standard 40 enables media-feature-range-notation and\nat-rule-empty-line-before, which --fix applies to the CSS sources. The\nfollowing stylelint rules are disabled to keep this CL focused on the\ntoolchain bump rather than CSS modernization:\n\n  declaration-property-value-keyword-no-deprecated  (word-break: break-word)\n  declaration-property-value-no-unknown             (display: box)\n  property-no-deprecated                            (clip:)\n\nThree real lint errors are fixed inline:\n  - header.ts and tree.ts: short-circuit-as-statement -\u003e if (...) ...\n  - tree.ts collapseTreeitem: collapse \"let x \u003d null; if/else x \u003d ...\"\n    into a ternary\n\nDrop stylelint-config-prettier (rules now subsumed by stylelint-prettier).\nAdd @eslint/js and globals as direct devDependencies.\n\nRegenerate static bundles via \"go run ./devtools/cmd/static\".\n\nChange-Id: I21d5b2f36685b61e5974aa947ccc1b9f57ba0a48\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/776540\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\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\n"
    },
    {
      "commit": "cf894f7e330f4f2407075a1fc1bae341a30bb2d4",
      "tree": "e58750321f3cdcff52e5d8d9bc354c96bf2b08e0",
      "parents": [
        "291c8587104515c87cac4e5cb6a5c7135ef5432d"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Sat May 09 10:44:46 2026 -0400"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Sat May 09 17:18:21 2026 -0700"
      },
      "message": "internal/api: expose commitTime in module metadata\n\nExpose the commitTime field in the v1beta /module/{path} endpoint. This\nallows client consumers to inspect the time the version was created\ndirectly from the module metadata without having to query the separate\n/versions endpoint. The timestamp is retrieved from the module proxy\u0027s\n.info endpoint.\n\nUpdate the OpenAPI spec and regenerate client types.\n\nChange-Id: Ia797433f00e27f7951ab5c84d95044440c894f30\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/776042\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\nAuto-Submit: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\n"
    },
    {
      "commit": "291c8587104515c87cac4e5cb6a5c7135ef5432d",
      "tree": "aaf73a9f0963a40f28534ef4d272fd2e102f183b",
      "parents": [
        "dc631bcfaf4d2351f9da5fef2bd16c50244c6614"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Sat May 09 10:16:16 2026 -0400"
      },
      "committer": {
        "name": "Hyang-Ah Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Sat May 09 15:56:56 2026 -0700"
      },
      "message": "all: run go fix ./...\n\nChange-Id: I596e9e2fe458b52b53bf5193a8e2a4f70db730a4\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/776041\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"
    },
    {
      "commit": "dc631bcfaf4d2351f9da5fef2bd16c50244c6614",
      "tree": "9746af2fbaf76781d6d0acf570484677bc78f4aa",
      "parents": [
        "598b1d6acbd88dd3fecdb00ba2d757b1ec8aa744"
      ],
      "author": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Fri May 08 23:34:35 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Sat May 09 14:24:36 2026 -0700"
      },
      "message": "cmd/internal/pkgsite-cli/client: fix packages command\n\nEnsure that the following prints the packages returned: pkgsite-cli\nmodule -packages go.starlark.net\n\nChange-Id: I734f45d7daba3464caaa01215ffac5401f8e64a7\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/775822\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nAuto-Submit: Ethan Lee \u003cethanalee@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "598b1d6acbd88dd3fecdb00ba2d757b1ec8aa744",
      "tree": "649432db24a44b09298c16f73b0626ffa91fb5cf",
      "parents": [
        "98ad2ae7f52c79868ebd6f79d2cbbed99e93f659"
      ],
      "author": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Tue May 05 23:26:51 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Sat May 09 14:24:30 2026 -0700"
      },
      "message": "internal/api: set default search pagination limit to 25\n\n- Improve first page response time and bring search limit in line with\n  the front end limit.\n\nChange-Id: I36302f1f18127abecbdea2f794a1630c3684090d\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/774581\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nAuto-Submit: Ethan Lee \u003cethanalee@google.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "98ad2ae7f52c79868ebd6f79d2cbbed99e93f659",
      "tree": "7e6f9a1913574873da30c051d70e110fd50770e6",
      "parents": [
        "6c81a3b5e5c8592490027080223fbfa7701e326a"
      ],
      "author": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Fri May 08 23:04:29 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Sat May 09 14:21:57 2026 -0700"
      },
      "message": "internal/api: remove limit on GetImportedBy ServePackageImportedBy\n\nThere was a bug where we were constrained by the hardcoded limit.\nExample: pkgsite-cli package --limit\u003d99999 --imported-by go.starlark.net/starlark\ngo.starlark.net/starlark\n\nChange-Id: I7e68ae498c1d1ac1c541ee3b4111925054905c72\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/776220\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nAuto-Submit: Ethan Lee \u003cethanalee@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "6c81a3b5e5c8592490027080223fbfa7701e326a",
      "tree": "5f8461963ed04fc66afb46ae34ac19223fa227fc",
      "parents": [
        "8e791b94edb0cdd4459a4ec780ad1743d2cfdf84"
      ],
      "author": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Fri May 08 15:09:32 2026 -0700"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Fri May 08 17:19:02 2026 -0700"
      },
      "message": "go.mod: update golang.org/x dependencies\n\nUpdate golang.org/x dependencies to their latest tagged versions.\n\nChange-Id: If7a185dca2b86394f530431b8174427eea8ac780\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/775730\nReviewed-by: Cherry Mui \u003ccherryyz@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\nReviewed-by: Dmitri Shuralyov \u003cdmitshur@google.com\u003e\nAuto-Submit: Dmitri Shuralyov \u003cdmitshur@google.com\u003e\n"
    },
    {
      "commit": "8e791b94edb0cdd4459a4ec780ad1743d2cfdf84",
      "tree": "c0becbfee29e5b1f0ed812d868093600e4a0e875",
      "parents": [
        "6e00a65cc2812bd6f8e26f56b7b6b6b1ab970b7c"
      ],
      "author": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Thu May 07 22:48:31 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Fri May 08 15:24:50 2026 -0700"
      },
      "message": "internal/api: remove backslash from search path\n\nSearch does not require a backslash for a query like: GET\n  /v1beta/search?q\u003d...\n\nAn error will be returned for GET\n  /v1beta/search/foo\n\nChange-Id: I0d5014fabdf73c8188357e6a6c8ee816c3591d36\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/775540\nAuto-Submit: Ethan Lee \u003cethanalee@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\n"
    },
    {
      "commit": "6e00a65cc2812bd6f8e26f56b7b6b6b1ab970b7c",
      "tree": "0389d2a7f065be82f5f432243d58d0417c67e4af",
      "parents": [
        "0e708357d56e2e4e34337159d912e26016b54c39"
      ],
      "author": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Thu May 07 22:24:05 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Fri May 08 15:24:47 2026 -0700"
      },
      "message": "all: reroute v1 endpoints to v1beta\n\n- Prior to stable v1 release, all endpoints will go through v1beta.\n\nChange-Id: I9813759d56fffc22b67e15df721c0a23d9457d49\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/775520\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nAuto-Submit: Ethan Lee \u003cethanalee@google.com\u003e\n"
    },
    {
      "commit": "0e708357d56e2e4e34337159d912e26016b54c39",
      "tree": "68a4f3e8cdbf37e7113e2cb64f249c830b97a239",
      "parents": [
        "444ca2a330fcfd816d39a044d90d60a55cb70f5b"
      ],
      "author": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Fri May 01 18:15:37 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Fri May 08 15:24:42 2026 -0700"
      },
      "message": "internal: add dynamic OpenAPI spec support\n\n- Implement dynamic generation of the OpenAPI 3.0 spec for pkgsite API.\n- The spec is generated by parsing the API routes and response types\n  from the source.\n- Enforce bumping version in openapi.yaml whenever a change is made.\n- Updated /api docs to link to the spec for machine-readable access.\n\nChange-Id: I11caa10e3866799c814502f35f5dbe87e6553409\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/773140\nAuto-Submit: 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\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\n"
    },
    {
      "commit": "444ca2a330fcfd816d39a044d90d60a55cb70f5b",
      "tree": "794a62497a21f49d030924ddf0774f32dc5a6152",
      "parents": [
        "2d6c6cbdeb44f2778a87699004bc55c959878559"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Fri May 08 19:56:46 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Fri May 08 15:09:13 2026 -0700"
      },
      "message": "cmd/internal/pkgsite-cli: add Go telemetry for commands\n\nAdd telemetry.\nUpdate TestNoThirdPartyImports to allow golang.org/x/telemetry.\n\nChange-Id: Idec4cb64adcb9f090a5d24eb4cf18d1511cc7376\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/776100\nReviewed-by: Alan Donovan \u003cadonovan@google.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nAuto-Submit: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\n"
    },
    {
      "commit": "2d6c6cbdeb44f2778a87699004bc55c959878559",
      "tree": "e18ebb98a6d1f4c7ffe914397db62474fa26c1b1",
      "parents": [
        "fba4ec18b174f1481aeb766ed865ca6bca7d66c1"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Thu May 07 23:00:31 2026 -0400"
      },
      "committer": {
        "name": "Hyang-Ah Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Fri May 08 14:38:47 2026 -0700"
      },
      "message": "internal/frontend: skip external link lookups for GOPRIVATE modules\n\nWhen pkgsite renders a unit page, it makes background requests to\ndeps.dev and codewiki.google to discover external links. For private\nmodules, suppress both lookups when the module path matches GOPRIVATE\nor GONOPROXY (using module.MatchPrefixPatterns, the same matcher\nused by cmd/go)\n\nFixes golang/go#55106\n\nChange-Id: Icc15cefc11792995f5da5f359153defaaeeead52\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/775201\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "fba4ec18b174f1481aeb766ed865ca6bca7d66c1",
      "tree": "dec93edd4ec8cdcbbd2a92a66be4f1cc609e2249",
      "parents": [
        "0e14e1caad2632e4da7c7449ded9794691d9a63d"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Fri May 08 12:11:12 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Fri May 08 11:16:23 2026 -0700"
      },
      "message": "internal/tests/api: improve module versions test\n\nCompare full results.\n\nDrop redundant wantStatus field.\n\nAdd filter tests.\n\nChange-Id: Iec63975dc7a4b2b5d733f860ed6905e720d9c72e\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/775940\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\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\n"
    },
    {
      "commit": "0e14e1caad2632e4da7c7449ded9794691d9a63d",
      "tree": "6aca33778699fa7f5f1aed1bdcd2b0e50171c8b3",
      "parents": [
        "7d3611c35530e0b77c109d6bd7e0788993cfe895"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Fri May 01 17:24:33 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Fri May 08 11:16:13 2026 -0700"
      },
      "message": "internal/api, etc.: add examples to doc\n\nRead the api:example comments in api.doc to get the\nrequests for each route.\n\nWhen the doc page is first visited, make the requests to\nthe current server in parallel, and record them.\n\nAdd the examples to the template for the doc page (api.tmpl).\n\nChange-Id: I1502f2604bb27ffd0237c445a0b972bb764d9a42\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/775040\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\n"
    },
    {
      "commit": "7d3611c35530e0b77c109d6bd7e0788993cfe895",
      "tree": "3b82a42173a8a5109c85181f06c870b2c668c504",
      "parents": [
        "dd156fc873bec317f4b16ab1d33756dc1659caa0"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed May 06 15:32:46 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Fri May 08 09:01:10 2026 -0700"
      },
      "message": "static/frontend/api/api.tmpl: pagination doc\n\nExplain how pagination works.\n\nChange-Id: I52aeea1aef5013764d499706d1956b15a68e08c3\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/774961\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\n"
    },
    {
      "commit": "dd156fc873bec317f4b16ab1d33756dc1659caa0",
      "tree": "133ae2e931ff0237efa8322285daccf4d3bdd1aa",
      "parents": [
        "80babe7b2766d3be3c218b3b633bd28622b95871"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed May 06 14:34:41 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Fri May 08 08:58:31 2026 -0700"
      },
      "message": "internal/api: filters are regexps\n\nChange filters from matching substrings to regular expressions.\n\nChange-Id: I745f839f88cf52385c7f4b3ab592356d10191221\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/774960\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "80babe7b2766d3be3c218b3b633bd28622b95871",
      "tree": "74eae484392ffdadb36f0c74de2468fcb8e34b7e",
      "parents": [
        "253efe4e91041faba1d2144aace8c233dd5466d8"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed May 06 14:28:51 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Fri May 08 08:58:24 2026 -0700"
      },
      "message": "internal/api: add Error.Fixes\n\nAn Error can now return a list of possible fixes, to help\nthe user correct the problem.\n\nChange-Id: Icb4116d324206e7c23d2ef401269380e638c4a7d\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/774920\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\n"
    },
    {
      "commit": "253efe4e91041faba1d2144aace8c233dd5466d8",
      "tree": "312f6716c5ede33f3607aa930e1d908b603b0e20",
      "parents": [
        "2c817196d3698a5964356f8cd2da44048228b9dd"
      ],
      "author": {
        "name": "Edwin S",
        "email": "eclvins@gmail.com",
        "time": "Sun Jan 18 13:12:53 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Fri May 08 08:49:25 2026 -0700"
      },
      "message": "internal/source: support subdirectory field in go-import meta tag\n\nFixes golang/go#75258\n\nChange-Id: I22177977ddd2b4508c7ec8d2f11b3af13f4ff354\nGitHub-Last-Rev: fc1d06b20252fcb8555546ef70b65b57233fa8b7\nGitHub-Pull-Request: golang/pkgsite#113\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/708175\nReviewed-by: Sean Liao \u003csean@liao.dev\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nReviewed-by: Nicholas Husin \u003chusin@google.com\u003e\nReviewed-by: Aleksa Sarai \u003ccyphar@cyphar.com\u003e\nAuto-Submit: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Nicholas Husin \u003cnsh@golang.org\u003e\n"
    },
    {
      "commit": "2c817196d3698a5964356f8cd2da44048228b9dd",
      "tree": "c88a2e7ece5244b4a83cd17828c66aa58f05ae50",
      "parents": [
        "48b21b0c5b9bfa6f25711ba05f7986631896a97e"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Fri Mar 27 13:43:58 2026 -0400"
      },
      "committer": {
        "name": "Hyang-Ah Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Thu May 07 20:38:56 2026 -0700"
      },
      "message": "devtools/ci: expose screentest diffs in Kokoro artifacts on failure\n\nWhen the screentest CI fails in Kokoro, the generated difference images\nare left inside tests/screentest/output. Since they are not copied to the\nKokoro artifacts directory, it is difficult to debug flaky screen tests.\n\nThis commit updates ci.sh to test for KOKORO_ARTIFACTS_DIR, and if present\nand the screentest script fails, it copies any generated output images to\nit before exiting.\n\nChange-Id: I98fdc83f4f8752daede7fa930eeca5733fe25a57\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/760581\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "48b21b0c5b9bfa6f25711ba05f7986631896a97e",
      "tree": "93e8bd999d9f507696c304acc476390c69593fb4",
      "parents": [
        "5106ff87fab91ff52edfa601a42716c7096f6dd5"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Tue May 05 10:01:21 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed May 06 10:50:22 2026 -0700"
      },
      "message": "internal/tests/api: simplify pagination tests\n\nRemove the wantNext field from wantPage. Every page but the\nlast expects a next-page token.\n\nChange-Id: I777a15c73e613a6385c3ea5044709e60f94e8dcf\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/774261\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\n"
    },
    {
      "commit": "5106ff87fab91ff52edfa601a42716c7096f6dd5",
      "tree": "3a788ce514744b5fd77f20f62a3111dfa674a64b",
      "parents": [
        "b86ca349805e36b7154c3d06977583a59e5c7612"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Tue May 05 09:35:54 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed May 06 10:50:14 2026 -0700"
      },
      "message": "internal/tests/api: generalize pagination tests\n\nGeneralize testPagination.\n\nThis way we can test endpoints that don\u0027t directly return a\nPaginatedResponse.\n\nChange-Id: Iea2be72e1aea9161591cb14ba4a5f6a25b934d75\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/774260\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "b86ca349805e36b7154c3d06977583a59e5c7612",
      "tree": "6ca016237c0bd03ed20df3f613f18694d74b244b",
      "parents": [
        "bd9d1e25143093ec0d07b9447ae460b3b70d22e9"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Tue May 05 08:40:35 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed May 06 05:52:34 2026 -0700"
      },
      "message": "internal/api: add fields to PackageInfo\n\nThe GetModulePackages call was already returning additional\nfields: package name, whether it is redistributable, and license\nmetadata. Return the first two. Returning the metadata (types\nand file path but not contents) would be confusing, and full\nlicense information is available from the package endpoint,\nso omit that. We can add it later if we want to.\n\nAlso, resolve the version in ServeModulePackages by calling\nGetUnitMeta, as we do in ServeModule.\n\nChange-Id: Iba7eeac976126e3c8dd7b9ca6e05ff94c2b7aa01\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/774240\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "bd9d1e25143093ec0d07b9447ae460b3b70d22e9",
      "tree": "89c6f717ae7b428f37f4b364347e5bdd01f97ed3",
      "parents": [
        "0f7d104b8ec13ca2168a3465f17aa0016c959d74"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Tue May 05 08:05:24 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed May 06 04:31:25 2026 -0700"
      },
      "message": "internal/api: factor out common packages fields\n\nThe returned JSON from the packages endpoint\nrepeated fields like module path and version for every package.\nFactor those out.\n\nChange-Id: I69a2ca221676cb53c98074c9b92d671b03949269\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/774200\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0f7d104b8ec13ca2168a3465f17aa0016c959d74",
      "tree": "b1a8ff86e4a1ff91482048f774c4a44eb8a77e3f",
      "parents": [
        "78eb77908dfbb610c11052f81f6ec3e0aab805cb"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Tue May 05 08:21:02 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Tue May 05 11:38:07 2026 -0700"
      },
      "message": "internal/tests/api: check for unknown JSON fields\n\nWhen unmarshalling a response, fail if there are unknown\nfields. This catches bugs that happen when we change a response.\nWithout this, json.Unmarshal succeeds but the result is a zero\nor partially filled value.\n\nChange-Id: Ib12bb92b9e1550397fa4df783230d1c13e7df97b\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/774201\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.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"
    },
    {
      "commit": "78eb77908dfbb610c11052f81f6ec3e0aab805cb",
      "tree": "807f594858eb4c8473f8559a5dcb97108bd91cf0",
      "parents": [
        "3a96784dc0b17f2490cfac3d8c54a987401bfa8a"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Wed Apr 22 01:24:40 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Tue May 05 11:03:45 2026 -0700"
      },
      "message": "cmd/internal/pkgsite-cli: implement auto-pagination\n\n- Support automatic pagination up to requested limit.\n- Remove --token flag as it was too low-level.\n- Set the default limit to 25 to match frontend search limit.\n\nFor golang/go#78690\n\nChange-Id: Ic9c01b80fe6df6f673c6512b188907d8bd1580fa\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/771240\nCommit-Queue: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nAuto-Submit: Hyang-Ah Hana Kim \u003chyangah@gmail.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\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\n"
    },
    {
      "commit": "3a96784dc0b17f2490cfac3d8c54a987401bfa8a",
      "tree": "f771628f4c34f8e8e67715fc53ad03fdf59ef2af",
      "parents": [
        "7d57a2f0f128423c62481b5d5ab716733ae1a18f"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Fri May 01 16:44:59 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Tue May 05 08:38:53 2026 -0700"
      },
      "message": "cmd/internal/pkgsite-cli: remove -goos and -goarch flags and use go env\n\n- Remove -goos and -goarch flags from the package subcommand.\n- Use the output of \u0027go env GOOS GOARCH\u0027 to determine default values.\n\nChange-Id: Ia8abd7ab80af24ae88258bb0486205b7dff63f1d\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/773100\nAuto-Submit: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "7d57a2f0f128423c62481b5d5ab716733ae1a18f",
      "tree": "6914e72864b99788abe78581627da9896bcf06cc",
      "parents": [
        "b43e242a1f821ad77f9bb4070b28570b486bba86"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Sun May 03 15:02:31 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Tue May 05 05:08:25 2026 -0700"
      },
      "message": "internal/api: obfuscate next-page tokens\n\nObfuscate next-page tokens so users can\u0027t reverse-engineer them.\nThis follows the advice of https://https://google.aip.dev/158#opacity.\n\nWe obfuscate by encrypting the offset. We don\u0027t really need full\ncrypto-strength encryption, but I don\u0027t think there is a lighter-\nweight way that isn\u0027t easy to break, given that all our source code\nis public.\n\nThe obfuscated tokens broke tests that look for a specific token.\nWe instead rewrite all pagination tests to page through the entire\nsequence.\n\nChange-Id: I92a477c2f794fd08a543e3a187f8b85aeaa139a4\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/773680\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\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\n"
    },
    {
      "commit": "b43e242a1f821ad77f9bb4070b28570b486bba86",
      "tree": "a2062d2651459f79c83a091917f5b00c4f07b8a6",
      "parents": [
        "ed377e317a18c37c10dd237f1de91229f2e5f959"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Fri May 01 07:34:07 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Mon May 04 11:10:38 2026 -0700"
      },
      "message": "internal/tests/api: add helper constructors\n\nAdd some functions for constructing modules and units.\nThis shortens the code for test setup.\n\nChange-Id: If033e4be5531115918a0a5109b1279fb70079c02\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/772981\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"
    },
    {
      "commit": "ed377e317a18c37c10dd237f1de91229f2e5f959",
      "tree": "3feb8bf9354d6c93928e23f64b00305cf936d15e",
      "parents": [
        "368acf2b71ab4f018421ef48d4931c05c9d0a042"
      ],
      "author": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Wed Apr 29 22:13:50 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Mon May 04 10:28:55 2026 -0700"
      },
      "message": "internal/api: optimize search performance\n\n- Reduced search latency by dynamically calculating the database limit\n  based on the requested offset and limit when no filter is present.\n- This avoids fetching the max number of search results, but preserves\n  correct grouping.\n\nChange-Id: I21fa4d409236e1e1f2e0a6a2795db26ce6cb21c5\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/772340\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nAuto-Submit: Ethan Lee \u003cethanalee@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "368acf2b71ab4f018421ef48d4931c05c9d0a042",
      "tree": "57994aa3a1c0d5c509760215ec59a672bd7a8d5b",
      "parents": [
        "2e5419a957e4052f2f0f98c7a15963ab6a720bc9"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Fri May 01 19:14:11 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Mon May 04 09:05:51 2026 -0700"
      },
      "message": "internal/frontend: serve JSON on bad API paths\n\nIf a URL path begins /v1/ but isn\u0027t known, it is\na mistake in using the API. Assume the client expects\nan API response, and serve a JSON-marshaled api.Error\ninstead of HTML.\n\nChange-Id: I9fc92f672edd39c00da184324b45c5c4be8bec25\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/773023\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.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"
    },
    {
      "commit": "2e5419a957e4052f2f0f98c7a15963ab6a720bc9",
      "tree": "bb1e186c4e54dcd380192f6eeffa7df78981e6fa",
      "parents": [
        "501336cf7e205364872cd4e3f68fc40536232adc"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Fri May 01 19:36:16 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Mon May 04 09:04:05 2026 -0700"
      },
      "message": "internal/postgres: fix GetModulePackages for latest\n\nFix GetModulePackages to resolve the version, so a version of \"latest\"\non an existing module doesn\u0027t return NotFound.\n\nChange-Id: Ib6458678f5a3fd087dbbb70fef59ac2f2a1480e2\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/773380\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\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\n"
    },
    {
      "commit": "501336cf7e205364872cd4e3f68fc40536232adc",
      "tree": "400a1f17eacf3517214c2bb4f21ab48d748bd9a0",
      "parents": [
        "fffc8cfead64a5d3e404da06ace390a62f82921d"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Fri May 01 06:28:49 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Fri May 01 09:43:15 2026 -0700"
      },
      "message": "internal/tests/api: inline insertModules\n\nPut the code of insertModules back into testServePackage.\n\nThe motivation behind having a separate function was\nto ultimately insert modules for all tests just once.\nBut after some thought, I think it\u0027s a bad idea.\nIt would couple tests together, and put the module\ndefinitions far from the point where the desired results\nare.\n\nChange-Id: I687df3ff9ecb53d20610211c7a65dba80161a2f5\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/772980\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\n"
    },
    {
      "commit": "fffc8cfead64a5d3e404da06ace390a62f82921d",
      "tree": "975f5e9264add2db94cb83f8e5f7d6d24dff1b8f",
      "parents": [
        "5579636e05e9f9cac1d6efaec542dc5214207f2a"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Thu Apr 30 13:49:30 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Fri May 01 09:39:26 2026 -0700"
      },
      "message": "internal/tests/api: increase coverage\n\nAdd some test cases that increase coverage of internal/api.\n\nChange-Id: Iaec12ae62db6fcd8d21857cd4897226fa6104cd9\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/772560\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\n"
    },
    {
      "commit": "5579636e05e9f9cac1d6efaec542dc5214207f2a",
      "tree": "11bed125e183d078ccfd82f395f9551d88bf9741",
      "parents": [
        "6c973a1b2cc4702635ceccabe0c4b9e87d564a24"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Tue Apr 28 22:54:07 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Thu Apr 30 12:09:10 2026 -0700"
      },
      "message": "internal/api: adjust symbols output format\n\nThe current type repeats module/version fields for every symbol.\nThis CL explores a different format to reduce duplication.\n\nChange-Id: I4c59cd2e387b53bb9bf00de1e1a8c14cc26c04e6\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/771800\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nAuto-Submit: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "6c973a1b2cc4702635ceccabe0c4b9e87d564a24",
      "tree": "eeb37f046c0891ac81e716faa84ab230f056fc52",
      "parents": [
        "d56f33f72f3837ea822abaa115a3288c302701cc"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Fri Apr 24 10:22:36 2026 -0400"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Wed Apr 29 13:20:37 2026 -0700"
      },
      "message": "internal/tests/api: fix deprecation test, simplify\n\nFix the test that shows that we ignore deprecated modules.\nPreviously, this test always used the fake data source, even for the\nDB. In fixing it, we discovered that the DB needs a go.mod file to\ndetermine deprecation.\n\nWe discovered this while cleaning up tests, moving module insertion\nto a separate function. This change is still here because it would\nbe challenging to split the two at this point.\n\nChange-Id: I91be5d728d9c7dd827341f6c3ac56839c234f39a\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/771380\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nAuto-Submit: Jonathan Amsterdam \u003cjba@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"
    },
    {
      "commit": "d56f33f72f3837ea822abaa115a3288c302701cc",
      "tree": "fcd8ecc27f36431c70be2c0c67f53c16866ea321",
      "parents": [
        "5bbbabc3dcc5c796144a688cc1f3dda2a307f141"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed Apr 29 14:27:28 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed Apr 29 12:51:35 2026 -0700"
      },
      "message": "static/frontend/api/api.tmpl: add space before table\n\nAdd some space before the parameter table.\n\nChange-Id: Icdb7cec50abaad0a0fb40fbd9bf062e317abcaa3\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/771982\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\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\n"
    },
    {
      "commit": "5bbbabc3dcc5c796144a688cc1f3dda2a307f141",
      "tree": "bd41d0fcdf6df290bfde0f5becc3c4be95768e72",
      "parents": [
        "4f138495a6880f94623cc94370b5a6857feb452e"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Wed Apr 22 01:30:10 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Tue Apr 28 15:53:00 2026 -0700"
      },
      "message": "cmd/internal/pkgsite-cli: fetch module details concurrently in module command\n\nFor golang/go#78690\n\nChange-Id: If381903054da1352ff55aaf141ff6ad8c492b69a\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/769683\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nAuto-Submit: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\n"
    },
    {
      "commit": "4f138495a6880f94623cc94370b5a6857feb452e",
      "tree": "a6c6d3344e4b1e76e37c860750b728475c7bcdab",
      "parents": [
        "a97485da3649ad7b322e0512f5a87d724daca99b"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Wed Apr 22 01:04:35 2026 +0000"
      },
      "committer": {
        "name": "Hyang-Ah Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Tue Apr 28 15:24:56 2026 -0700"
      },
      "message": "cmd/internal/pkgsite-cli: copy API types using go generate\n\nCopy the file to avoid dependency on api package.\nThis can be done by running the test here with -update flag.\n(or go generate)\n\nFor golang/go#78690\n\nChange-Id: Ifa2106b0ad836ff11a90238bc7d784b8ed131480\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/769681\nReviewed-by: Jonathan Amsterdam \u003cjba@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: Ethan Lee \u003cethanalee@google.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "a97485da3649ad7b322e0512f5a87d724daca99b",
      "tree": "1d32b10db972115ee5884b4fd134c79d2e8051d5",
      "parents": [
        "9e8ff59228f34708b22ec708dab0af05257ac05d"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Wed Apr 22 00:36:38 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Tue Apr 28 14:18:45 2026 -0700"
      },
      "message": "cmd/internal/pkgsite-cli: move client code to dedicated sub-package\n\nMove client logic from cmd/internal/pkgsite-cli/\nto a dedicated client sub-package to enable re-use\nand better isolation for testing.\n\nAnd rearrange handleErr not to return 1, to prevent the unparam lint error.\n\nFor golang/go#78690\n\nChange-Id: I5ff395028926bbd6a11e73e879c0fbdfecae8d9f\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/769680\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nAuto-Submit: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\n"
    },
    {
      "commit": "9e8ff59228f34708b22ec708dab0af05257ac05d",
      "tree": "147c6113d44d55163a051fe1911c32a754188672",
      "parents": [
        "29d1d011fd64b0d9fc5f65b94b6645ee3052aea8"
      ],
      "author": {
        "name": "Ethan Lee",
        "email": "ethanalee@google.com",
        "time": "Mon Apr 27 20:10:13 2026 +0000"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Tue Apr 28 13:37:19 2026 -0700"
      },
      "message": "all: add API section to root README\n\nChange-Id: Id6b95144c5efee2b6fff4b327bf57686120c8d49\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/771120\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nAuto-Submit: Ethan Lee \u003cethanalee@google.com\u003e\n"
    },
    {
      "commit": "29d1d011fd64b0d9fc5f65b94b6645ee3052aea8",
      "tree": "cc88d29d145ca732e976c02d863e06e0d7e03f4f",
      "parents": [
        "31be3d39111ba9429cd7f7d7f831410473171bb2"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Mon Apr 27 14:23:41 2026 -0400"
      },
      "committer": {
        "name": "Gopher Robot",
        "email": "gobot@golang.org",
        "time": "Mon Apr 27 13:55:04 2026 -0700"
      },
      "message": "internal/api: fill out documentation\n\nAdd overall documentation for the API, and document\neach query parameter.\n\nChange-Id: I6b16b8189a2865e12e0f30988b68b0e71209702b\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/771060\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\nAuto-Submit: Jonathan Amsterdam \u003cjba@google.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "31be3d39111ba9429cd7f7d7f831410473171bb2",
      "tree": "55e3b8d9f3cdb1db02d58fd92537b5080707e38e",
      "parents": [
        "6741261491a692a81b6448d8f47dd6b272eb4d52"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Thu Apr 23 12:46:35 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Mon Apr 27 10:45:18 2026 -0700"
      },
      "message": "internal/api: doc query params in a table\n\nDisplay a table of query params, their types, and documentation.\nThis will be a lot more convenient than clicking through to the Params\ntype definition.\n\nAlso, remove the link. It provides no new information; it\u0027s just\nconfusing.\n\nImplementation: parse the params.go file and extract doc comments\nfrom XXXParams fields.\n\nChange-Id: I0ae8e51f616e2a27c77279af7904ad020eaf4edd\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/770160\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "6741261491a692a81b6448d8f47dd6b272eb4d52",
      "tree": "0680a03675b2a122e247f26eebbdff880747d23f",
      "parents": [
        "dedede15d8e2fe8bf446bf621cde26aeaacd783c"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Mon Apr 20 23:19:17 2026 +0000"
      },
      "committer": {
        "name": "Hyang-Ah Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Fri Apr 24 10:21:37 2026 -0700"
      },
      "message": "internal/licenses: add ICU license support\n\nhttps://opensource.org/license/icu\n\nFixes golang/go#78854\n\nChange-Id: Ibf1487595e946729b2de265e7e4ab0dc755263da\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/769163\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\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\n"
    },
    {
      "commit": "dedede15d8e2fe8bf446bf621cde26aeaacd783c",
      "tree": "23030cf4f3505463d142c71304fe28000c19f7b6",
      "parents": [
        "e3208fe2540001ff82aa09a52647183b5693b95a"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed Apr 22 15:27:06 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Thu Apr 23 09:49:14 2026 -0700"
      },
      "message": "internal/api: miscellaneous changes to API doc\n\n- redirect /api to /v1/api\n\n- remove spaces around [ ... ] in paginated responses\n\n- Don\u0027t link to built-in types\n\nChange-Id: I060da348cd4942e61342636244021be76801f10e\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/770040\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "e3208fe2540001ff82aa09a52647183b5693b95a",
      "tree": "8a112cf73e65e6da06cb8b870b4b0844db946d63",
      "parents": [
        "5d9336e32c887a192a0b44b99e09ecbaf429c5e2"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed Apr 22 14:39:28 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Thu Apr 23 09:45:57 2026 -0700"
      },
      "message": "internal/api: allow multiple api:desc comments\n\nChange-Id: Ib10a27d951f9d12aeb29356936893ce7bad72412\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/769821\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\n"
    },
    {
      "commit": "5d9336e32c887a192a0b44b99e09ecbaf429c5e2",
      "tree": "e18add7626108fc3db72be08387b480c2787b37c",
      "parents": [
        "5d5366492ae13b26e339feb0bf00e4297e66a742"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Wed Apr 15 21:00:02 2026 +0000"
      },
      "committer": {
        "name": "Hyang-Ah Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Wed Apr 22 19:08:06 2026 -0700"
      },
      "message": "cmd/internal/pkgsite-cli: add module and search commands\n\nFor golang/go#78690\n\nChange-Id: Idc2c1cc09de73be7598eb98f0cdbc97dce6162b4\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/766562\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\n"
    },
    {
      "commit": "5d5366492ae13b26e339feb0bf00e4297e66a742",
      "tree": "38189856eab6b7bcb1c7e04c67e4c5e7703282d3",
      "parents": [
        "abc972ee8589a13b3a06f361ea29dbd8d79ca17b"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Wed Apr 15 20:59:52 2026 +0000"
      },
      "committer": {
        "name": "Hyang-Ah Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Wed Apr 22 19:07:13 2026 -0700"
      },
      "message": "cmd/internal/pkgsite-cli: add package command\n\nFor golang/go#78690\n\nChange-Id: Id1c60cc0a8a384245a01c3e8f1c6dcbb0a81803a\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/766561\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@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: Ethan Lee \u003cethanalee@google.com\u003e\n"
    },
    {
      "commit": "abc972ee8589a13b3a06f361ea29dbd8d79ca17b",
      "tree": "ddf2e662d6b3f3d3d37f6b89c004d79a3ebb24e7",
      "parents": [
        "1638d75b66c8725f30ebb61688296f28994730b9"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Fri Apr 17 16:08:12 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed Apr 22 17:39:50 2026 -0700"
      },
      "message": "internal/frontend: serve API doc page\n\nServe the API documentation from pkgsite.\n\nChange-Id: I29edbb888cc9d52598018d9d256fe1b1a0dce136\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/769840\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "1638d75b66c8725f30ebb61688296f28994730b9",
      "tree": "7bc52164af090b82141e2fa7e02d44b2166db058",
      "parents": [
        "9446ae89dcf61b73c5c2076c5addce4ec3bdb542"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed Apr 22 13:14:45 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed Apr 22 12:33:29 2026 -0700"
      },
      "message": "internal/api: avoid internal types\n\nUse a copy of ModuleInfo instead of the one in the internal package.\n\nIt\u0027s better to avoid exposing internal types in the API. This also gives\nus the opportunity to improve some names.\n\nChange-Id: Ia796955fcbdfa2006b5bba2a42518076ad1365e3\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/769820\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\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\n"
    },
    {
      "commit": "9446ae89dcf61b73c5c2076c5addce4ec3bdb542",
      "tree": "4cc486456f2f03c13a1eb041bc8020d49df921fb",
      "parents": [
        "0df9e98b6615ae60defc01cc8724d4089d5a1ffa"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Wed Apr 15 20:59:42 2026 +0000"
      },
      "committer": {
        "name": "Hyang-Ah Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Wed Apr 22 07:58:55 2026 -0700"
      },
      "message": "cmd/internal/pkgsite-cli: add API client\n\nFor golang/go#78690\n\nChange-Id: I2d82455c7b30b1865efa589c46ddd6bc3241477a\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/766560\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0df9e98b6615ae60defc01cc8724d4089d5a1ffa",
      "tree": "fdd35b867aa98f6638c62b3e6833b2d9761aa5b5",
      "parents": [
        "26eab2f0c5ff454dd6ab5a361586dc4a93663ceb"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Mon Apr 20 21:02:01 2026 -0400"
      },
      "committer": {
        "name": "Hyang-Ah Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Tue Apr 21 19:21:55 2026 -0700"
      },
      "message": "internal: accept two-element launchpad.net module paths\n\nlaunchpad.net was in VCSHostWithThreeElementRepoName, but launchpad\nmodule paths have variable depth (e.g. launchpad.net/goose) and are\nresolved via go-get meta-tag discovery rather than a fixed shape.\n\nAs a result, CandidateModulePaths(\"launchpad.net/goose\") returned\nnil because the final trimming step discarded all candidates whenever\nthe shortest candidate was a known three-element host and len(r) \u003c 3.\npkg.go.dev therefore failed to display packages like launchpad.net/goose\neven though proxy.golang.org had them.\n\nRemove launchpad.net from the list and add test cases covering the\nbare-project, project/series, and ~user/project shapes.\n\nFixes golang/go#78091\n\nChange-Id: I23561f1b19af6a7c6c5c136857b9cf01154b4029\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/769560\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\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\n"
    },
    {
      "commit": "26eab2f0c5ff454dd6ab5a361586dc4a93663ceb",
      "tree": "78d211d0cbd0b3e56d2da20ee556472e1b54115b",
      "parents": [
        "2aebd320af3eaaf0dfd54f655a8e40e033de83f5"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Thu Apr 16 13:02:06 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Tue Apr 21 10:48:59 2026 -0700"
      },
      "message": "internal/api: remove test dependency on postgres\n\n- Move the tests which depend on postgres to internal/tests/api.\n\n- No longer skip the cmd/pkgsite dependency test. The internal/api\n  package no longer depends on any postgres packages.\n\nChange-Id: I080fb5aa7bbee8b47919bc98b48bacc4e171a9c0\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/767884\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\n"
    },
    {
      "commit": "2aebd320af3eaaf0dfd54f655a8e40e033de83f5",
      "tree": "3dbb0701641171267c9620384e5f043ca6e8fa8a",
      "parents": [
        "2b91a6ebe258a4da44395a1e6c22b91d83dac00a"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Thu Apr 16 12:32:43 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Fri Apr 17 08:08:22 2026 -0700"
      },
      "message": "internal/api: group tests into one top-level function\n\nCall all tests from a single function, TestAPI. This prepares us to\nmove the top-level part of the test to another package, removing\nthe dependency on postgres.\n\nChange-Id: Ib58d464743ecd1beb19f3bc4c062f6a3bd35c06b\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/767883\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\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\n"
    },
    {
      "commit": "2b91a6ebe258a4da44395a1e6c22b91d83dac00a",
      "tree": "087b83ad989ea31174de079e4853d48fe36056b4",
      "parents": [
        "8cdc341f9ee2b30c78238bd9caa5100eea98758e"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Thu Apr 16 12:21:25 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Fri Apr 17 08:08:14 2026 -0700"
      },
      "message": "internal/api: test ImportsBy route with DB\n\nCreate the two packages in different modules, because the real\nGetImportsBy function ignores packages in the same module.\n\nChange-Id: Ice30ff989ce8da2e70923f5f82aecf8c11af53bb\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/767882\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "8cdc341f9ee2b30c78238bd9caa5100eea98758e",
      "tree": "82356f6a3c540db21c31cb06ed557cf734e8372c",
      "parents": [
        "f2c39c7d845a52e708c549a3c8e72b267f046dac"
      ],
      "author": {
        "name": "Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Mon Apr 13 16:44:26 2026 +0000"
      },
      "committer": {
        "name": "Hyang-Ah Hana Kim",
        "email": "hyangah@gmail.com",
        "time": "Thu Apr 16 13:06:56 2026 -0700"
      },
      "message": "cmd/internal/pkgsite-cli: add skeleton and documentation\n\nFor golang/go#78690\n\nChange-Id: I8eca65ba84515ddda52046c194f33f7c5759bd73\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/766460\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "f2c39c7d845a52e708c549a3c8e72b267f046dac",
      "tree": "4b9406faa8d7e76c533d10e64f042dc7af0f0760",
      "parents": [
        "bba05199c9ecab1921427e50651daccb7e0ec35f"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed Apr 15 16:43:33 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Thu Apr 16 09:24:07 2026 -0700"
      },
      "message": "internal/api: test symbols route with DB\n\nTest ServePackageSymbols with a real DB.\n\nRemove Unit.Symbols, which was used only for tests.\nInstead, use Documentation.API.\n\nChange-Id: I3e3326037637a3bbe434574c0e78f16403e864eb\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/767740\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "bba05199c9ecab1921427e50651daccb7e0ec35f",
      "tree": "6e214d4e4635d7b8d126dbca252482a1ddd576c2",
      "parents": [
        "f1151c68d84355fc6cd0c26b71368bcd0542cca7"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed Apr 15 13:16:46 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Thu Apr 16 09:23:02 2026 -0700"
      },
      "message": "internal/api: test Search tests with DB\n\nChange-Id: I48e30364744b5c4b265efa08f2727c1c83a70b88\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/767540\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\n"
    },
    {
      "commit": "f1151c68d84355fc6cd0c26b71368bcd0542cca7",
      "tree": "dd0b9c9b0543a98697b4eabb69485bc4cfce618f",
      "parents": [
        "15e6269a739991c15b80c3a59c0d86ee4fd93c4f"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed Apr 15 12:28:38 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed Apr 15 13:46:23 2026 -0700"
      },
      "message": "internal/api: test ServeModuleVersions with DB\n\nChange-Id: I9845b1be1e8900773ecd16657ef3946716430314\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/767362\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nkokoro-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\n"
    },
    {
      "commit": "15e6269a739991c15b80c3a59c0d86ee4fd93c4f",
      "tree": "123a69b8f56796d65211a38f2a585b74343c47a6",
      "parents": [
        "fb799facaf6be42b6a3e01f29639e09d053bd8a8"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed Apr 15 11:42:12 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed Apr 15 13:38:46 2026 -0700"
      },
      "message": "internal/api: test ServeModulePackages with DB\n\nTest the packages API endpoint with a postgres DB.\n\nAlso fix a bug in the postgres.DB.GetModulesPackages to return\nNotFound if there are no matches.\n\nChange-Id: Iee08da3150b845efaca814c9409d20fe32e2bc34\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/767360\nTryBot-Bypass: Jonathan Amsterdam \u003cjba@google.com\u003e\nReviewed-by: Ethan Lee \u003cethanalee@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "fb799facaf6be42b6a3e01f29639e09d053bd8a8",
      "tree": "1469a04b563cad0d29244297d5bfdcd54125cc93",
      "parents": [
        "e06a115d816500f087b65e5bde903545d4ca59b1"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed Apr 15 08:12:07 2026 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed Apr 15 13:10:52 2026 -0700"
      },
      "message": "internal/api: test ServeModule with database\n\nTest the modules route with a postgres DB.\n\nChange-Id: Ida2a9ecc0028ceb923e1527622d68d393f6f6871\nReviewed-on: https://go-review.googlesource.com/c/pkgsite/+/767240\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Hyang-Ah Hana Kim \u003chyangah@gmail.com\u003e\nTryBot-Bypass: Jonathan Amsterdam \u003cjba@google.com\u003e\n"
    }
  ],
  "next": "e06a115d816500f087b65e5bde903545d4ca59b1"
}
