)]}'
{
  "log": [
    {
      "commit": "3a9840fdf916c052885ca6ba2836d975011cb139",
      "tree": "acbe2e38c3d9039f7dc67db633ba9489ed369bdf",
      "parents": [
        "cb0cedf414c0db972df7f118026aad25efa1e6fe"
      ],
      "author": {
        "name": "Angel Adetula",
        "email": "angeladetula@google.com",
        "time": "Thu Oct 22 15:35:05 2026 -0700"
      },
      "committer": {
        "name": "Angel Adetula",
        "email": "angeladetula@google.com",
        "time": "Tue Oct 27 11:33:11 2026 -0700"
      },
      "message": "Release: Upload the container to the GCS once it has been released.\n\nThis change ensures that even if there is a failure in a different\ncontainer, the expected container (toolbox, cos-gpu-installer)\ndoesn\u0027t fail to write the release task to GCS.\n\nBUG\u003dNone\nTEST\u003dcloudbuild, locally ran a dryrun test.\n\nChange-Id: I3cfb058a7006458bd1e4b1b3e084005c933d89c1\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/229546\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Angel Adetula \u003cangeladetula@google.com\u003e\nReviewed-by: Chenglong Tang \u003cchenglongtang@google.com\u003e\n"
    },
    {
      "commit": "cb0cedf414c0db972df7f118026aad25efa1e6fe",
      "tree": "cb44268edf4e9765188920806592f226ed54f101",
      "parents": [
        "3ef2771e1d7621b738468a92c7d4f3ea3814e02f"
      ],
      "author": {
        "name": "Jimmy Chen",
        "email": "yinjie@google.com",
        "time": "Fri Oct 23 19:09:00 2026 +0000"
      },
      "committer": {
        "name": "Jimmy Chen",
        "email": "yinjie@google.com",
        "time": "Mon Oct 26 18:07:49 2026 -0700"
      },
      "message": "cos: fall back on ArtifactExists bucket errors\n\nPreviously, GCSDownloader.ArtifactExists only fell back from a regional\nbucket (e.g. gs://cos-tools-\u003cregion\u003e) to the multi-regional fallback\nbucket (gs://cos-tools) when GCSObjectExists returned (false, nil). Any\nnon-nil error when querying the regional bucket caused ArtifactExists to\nfail immediately without checking the fallback bucket, unlike\nDownloadArtifact which falls back on any regional bucket error.\n\nUpdate ArtifactExists to fall back to the multi-regional bucket whenever\nthe regional bucket check returns an error or reports the object is\nmissing:\n\n- Fall back to the multi-regional bucket on any error from the regional\n  bucket in GCSDownloader.ArtifactExists.\n- Add unit tests in src/pkg/cos/artifacts_test.go covering fallback when\n  the regional bucket returns wrapped storage.ErrObjectNotExist or\n  generic errors.\n- Add unit tests in src/pkg/gcs/gcs_client_test.go verifying\n  GCSBucket.Exists with wrapped storage.ErrObjectNotExist and\n  storage.ErrBucketNotExist errors.\n\nBUG\u003db/576060016\nTEST\u003dgo test ./src/pkg/cos/... ./src/pkg/gcs/...\nRELEASE_NOTE\u003dNone\n\nChange-Id: Iebcc7f7ea9018e4e66f62afb4a49ff803e11a5d5\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/229846\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Jimmy Chen \u003cyinjie@google.com\u003e\nReviewed-by: Chenglong Tang \u003cchenglongtang@google.com\u003e\n"
    },
    {
      "commit": "3ef2771e1d7621b738468a92c7d4f3ea3814e02f",
      "tree": "2f5362a8801f015039bb20519e2529a86b64da40",
      "parents": [
        "ad81f54f364a837faa7576f1cb373a3a2c780f15"
      ],
      "author": {
        "name": "chenglongtang",
        "email": "chenglongtang@google.com",
        "time": "Fri Oct 23 03:30:51 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Fri Oct 23 01:28:17 2026 -0700"
      },
      "message": "cos_ca_cert_mitigation: Update GKE DaemonSet for preloaded GPU installer and NPD\n\n- Retag preloaded `docker.io/library/cos-nvidia-installer:fixed` and\n  `gcr.io/cos-cloud/cos-gpu-installer:fixed` in containerd (`k8s.io`\n  namespace) to `gcr.io/cos-cloud/cos-gpu-installer:v2.7.11` when\n  present on GKE GPU nodes.\n- Add `gke-node-problem-detector` to the active systemd daemon restart\n  list.\n- Add `priorityClassName: system-node-critical` to the DaemonSet pod\n  spec.\n\nBUG\u003db/575997232\nTEST\u003dVerified on GKE COS_CONTAINERD cluster (cos-nvidia-installer:fixed retag, gke-node-problem-detector restart, priorityClassName\u003dsystem-node-critical)\n\nChange-Id: Idb829228f0b2aeddadd6b4594995a0635e9ca01b\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/229626\nReviewed-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "ad81f54f364a837faa7576f1cb373a3a2c780f15",
      "tree": "3143793101cd9be6ce1607205eca10dfdc6119d1",
      "parents": [
        "a5e2dc666e18c84de7db7e20f5a6b6089f322af3"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Thu Oct 22 02:30:42 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Wed Oct 21 20:30:06 2026 -0700"
      },
      "message": "cos_ca_cert_mitigation: Only apply mitigations once in GKE\n\nBUG\u003db/575997232\nTEST\u003dpresubmit\n\nChange-Id: I136672d3c900280ba5cbd23068142c9b028a20eb\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/229007\nReviewed-by: Chenglong Tang \u003cchenglongtang@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "a5e2dc666e18c84de7db7e20f5a6b6089f322af3",
      "tree": "79759b00f7f8ba1213b5c6e4744a69d7cae2850a",
      "parents": [
        "61764609edd0d4e63868255b593b3ca16f117e5a"
      ],
      "author": {
        "name": "chenglongtang",
        "email": "chenglongtang@google.com",
        "time": "Wed Oct 21 22:18:22 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Wed Oct 21 20:29:47 2026 -0700"
      },
      "message": "Add live CA-certificate mitigation tools for COS and GKE\n\nAdd `src/cmd/cos_ca_cert_mitigation/` providing live mitigation tools to distrust\ncompromised eMudhra (`emSign`) root CAs and the cross-signing\n`AAA Certificate Services` (`Comodo_AAA_Services_root.crt`) root CA on\nrunning Container-Optimized OS (COS) instances and GKE Standard nodes:\n\n- `src/cmd/cos_ca_cert_mitigation/cos/mitigate_cos_ca_certs.sh`: Standalone live-VM\n  mitigation script that updates `/etc/ca-certificates.conf` and\n  `/etc/ssl/certs`, masks read-only `/usr` trust stores\n  (`chromeos-ca-certificates` and `grpc`), updates default container image\n  tags for `toolbox` (`v20261020`) and `cos-extensions`\n  (`cos-gpu-installer:v2.7.11`), and restarts active host daemons.\n- `src/cmd/cos_ca_cert_mitigation/gke/cos-ca-cert-mitigation.yaml`: Privileged\n  Kubernetes DaemonSet (`kube-system/cos-ca-cert-mitigator`) to apply the\n  mitigation across all existing and newly autoscaled COS nodes in a GKE\n  Standard cluster without rebooting nodes or evicting pods.\n- `src/cmd/cos_ca_cert_mitigation/README.md`: Deployment, verification, and cleanup\n  instructions for GKE Standard clusters and standalone COS GCE VMs.\n\nBUG\u003db/575997232\nTEST\u003dpresubmit, run mitigation script in GCE and GKE\n\nChange-Id: I36881be564f372a74338728a05c4d9c5a01cd434\nSigned-off-by: Chenglong Tang \u003cchenglongtang@google.com\u003e\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/229146\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nReviewed-by: Daniel Velasquez \u003crdvelasquez@google.com\u003e\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\n"
    },
    {
      "commit": "61764609edd0d4e63868255b593b3ca16f117e5a",
      "tree": "3f5019984900ccb9db1af4c65fead59b156f8700",
      "parents": [
        "a005182613d0f81e38be54b2a3654fad3c773ca5"
      ],
      "author": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Wed Oct 21 10:00:51 2026 -0700"
      },
      "committer": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Wed Oct 21 11:15:15 2026 -0700"
      },
      "message": "2026-10-20 release for cos-gpu-installer\n\nThe last cos-gpu-installer image didn\u0027t get promoted properly so couldnt\nbe released. Use latest build for the release\n\nBUG\u003db/576001626\n\nChange-Id: I0080a2280cb082a9c800e63f00d2ab5168eef4a8\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/228687\nReviewed-by: Angel Adetula \u003cangeladetula@google.com\u003e\nTested-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\nCloud-Build: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\nReviewed-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "a005182613d0f81e38be54b2a3654fad3c773ca5",
      "tree": "65d9c6e56e9bbde7069d1da0864ec68354dee5d0",
      "parents": [
        "0ea442ccfd7014c4bfd886acb7050facf8cbb748"
      ],
      "author": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Tue Oct 20 22:31:44 2026 -0700"
      },
      "committer": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Wed Oct 21 08:07:24 2026 -0700"
      },
      "message": "2026-10-20 container release\n\nBUG\u003db/576001626\n\nChange-Id: I5760d01938cee883ec3aab204d9f01615b54a84b\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/228706\nReviewed-by: Chenglong Tang \u003cchenglongtang@google.com\u003e\nReviewed-by: Vaibhav Rustagi \u003cvaibhavrustagi@google.com\u003e\nTested-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\nReviewed-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0ea442ccfd7014c4bfd886acb7050facf8cbb748",
      "tree": "a1130c59df80ce211581c0b789de82a777be6d45",
      "parents": [
        "c5ddefece39804da1d895fb698676499ffa9bfae"
      ],
      "author": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Tue Oct 20 17:47:47 2026 -0700"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Tue Oct 20 21:18:02 2026 -0700"
      },
      "message": "Update ca-certificates\n\nFor Dockerfiles that already install ca-certificates, no change is\nneeded - it will automatically pick up the next ca-certificates\n\nfor Dockerfiles that do not already install ca-certificates, install it\nexplicitly to override whatever is default in the base image\n\nfor Dockerfiles that use a base image that doesn\u0027t have an updated\nca-certificates available, explicitly blacklist the bad certs.\n\nNone of the Go programs here use statically compiled ca-certs, they all\nuse the system defaults (this is the default for Go programs AFAICS).\n\ngoogle-cloud-cli, python3-certifi, and python3-pip also need to be\nupdated, but they have no upstream fix yet. Copy over their bundled\ncerts with the system one for now.\n\nBUG\u003db/576001626\n\nChange-Id: Ifa5fc46a1bedf2d65b22950a70991dd38733dcf1\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/228469\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nReviewed-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "c5ddefece39804da1d895fb698676499ffa9bfae",
      "tree": "969b59514427350cfa07055417a6777e9b158ae1",
      "parents": [
        "65a603107dad1f894dd4f17ae567a8a6843029cf"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Wed Oct 21 01:36:11 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Tue Oct 20 20:15:53 2026 -0700"
      },
      "message": "Upgrade Go to v1.26.10\n\nThis fixes CVE-2026-111943 by distrusting the compromised eMudhra\ncertificates.\n\nBUG\u003db/575995267\nTEST\u003dpresubmit\n\nChange-Id: I002ae2ee6b62114b1001cf9fced57ca32010732e\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/228566\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Angel Adetula \u003cangeladetula@google.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "65a603107dad1f894dd4f17ae567a8a6843029cf",
      "tree": "85e92954d001b6a01d81211a46ef791f224e2005",
      "parents": [
        "81a707bbf85f8818b718809e244d78f67e4b5953"
      ],
      "author": {
        "name": "Miri Amarilio",
        "email": "mirilio@google.com",
        "time": "Mon Oct 19 22:28:10 2026 +0000"
      },
      "committer": {
        "name": "Miri Amarilio",
        "email": "mirilio@google.com",
        "time": "Tue Oct 20 11:39:45 2026 -0700"
      },
      "message": "cos-gpu-installer: start nvidia-persistenced before nvidia-gridd on Grid GPUs only\n\nBUG\u003db/573970841\nTEST\u003dunit tests; use custom gpu-installer and cos-extensions to install gpu driver on a fractional VM, verify license and CUDA.\nRELEASE_NOTE\u003dNone\n\ncos-patch: bug\nChange-Id: Icaa0201c9d4b37944ec863c7b5eb23dfb2ed79f4\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/227866\nTested-by: Miri Amarilio \u003cmirilio@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\n"
    },
    {
      "commit": "81a707bbf85f8818b718809e244d78f67e4b5953",
      "tree": "6eae3847f26f612116f9930c8091bbba25cc8723",
      "parents": [
        "ef9532557744c28a0f268f55972b9b0d7ded81aa"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Fri Oct 02 01:45:48 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Thu Oct 15 14:38:52 2026 -0700"
      },
      "message": "cos-kernel: Use root disk p12 as EFI partition\n\nIf a second boot disk has been mounted, the\n/dev/disk/bypartlabel/EFI-SYSTEM link can be overwritten. On COS,\nit\u0027s more reliable to use partition 12 of the root disk instead,\nwhich should always be the actual EFI partition.\n\nBUG\u003db/567952125\nTEST\u003dpresubmit, unlock and deploy kernel on x86 and arm64\n\nChange-Id: If44102e4f85ca14ef1b1a5667024568b43fe0afe\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/219608\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "ef9532557744c28a0f268f55972b9b0d7ded81aa",
      "tree": "47c34f372699a4ca6c042346a6f3c42d1287ed92",
      "parents": [
        "b0c7a4f299f513036d9d65d5c85d808d68f2a7e8"
      ],
      "author": {
        "name": "Dexter Rivera",
        "email": "riverade@google.com",
        "time": "Mon Oct 12 16:21:48 2026 +0000"
      },
      "committer": {
        "name": "Dexter Rivera",
        "email": "riverade@google.com",
        "time": "Wed Oct 14 18:42:50 2026 -0700"
      },
      "message": "gpubuild: include ucodes*.bin firmware in GPU driver package\n\nUpdate copyPackageFiles to copy ucodes*.bin firmware files in addition\nto gsp*.bin firmware files into the output driver tarball\u0027s firmware\ndirectory. This is required for VR200 GPUs.\n\nBUG\u003db/567631025\nTEST\u003dgo test ./src/pkg/gpubuild/...\nRELEASE_NOTE\u003dnone\n\nChange-Id: Ia567631025dc83d9e1b4f028496c15f7e329a10b\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/224667\nReviewed-by: Kevin Berry \u003ckpberry@google.com\u003e\nTested-by: Dexter Rivera \u003criverade@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "b0c7a4f299f513036d9d65d5c85d808d68f2a7e8",
      "tree": "8bb760ca3b038f7f2b3c560ad4a9b1841a2a7866",
      "parents": [
        "943f4885cc324be18d425b7cbca442decc5d26fb"
      ],
      "author": {
        "name": "Dom Huh",
        "email": "domhuh@google.com",
        "time": "Fri Oct 09 22:32:31 2026 +0000"
      },
      "committer": {
        "name": "Dom Huh",
        "email": "domhuh@google.com",
        "time": "Wed Oct 14 13:36:11 2026 -0700"
      },
      "message": "release cos-gpu-installer 2.7.10\n\ncarries otel and grpc cve fix\n\nBUG\u003db/568437870\nTESTS\u003dpresubmit\nRELEASE_NOTE\u003dnone\n\nChange-Id: I04a96776e46951a22417c49ca2313e20b15c5e2a\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/224967\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Dom Huh \u003cdomhuh@google.com\u003e\nReviewed-by: Chenglong Tang \u003cchenglongtang@google.com\u003e\n"
    },
    {
      "commit": "943f4885cc324be18d425b7cbca442decc5d26fb",
      "tree": "102233d61b09902c7d730e3f52d5169ed008c380",
      "parents": [
        "9ae75d0a45bdfa3e77dc39854b8b23e4ce9a6718"
      ],
      "author": {
        "name": "Robert Velasquez",
        "email": "rdvelasquez@google.com",
        "time": "Wed Oct 07 01:25:03 2026 +0000"
      },
      "committer": {
        "name": "Daniel Velasquez",
        "email": "rdvelasquez@google.com",
        "time": "Wed Oct 07 09:10:53 2026 -0700"
      },
      "message": "cos-dkms: Release version 0.3.18\n\nRelease cos-dkms v0.3.18 with grpc 1.83.2 and otel/sdk 1.45.0 to resolve CVE-2026-84445 and CVE-2026-81870.\n\nTEST\u003dpresubmit\n\nChange-Id: Ibcc0014a59834e8430cf364b3f767d7242b32507\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/223067\nReviewed-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Daniel Velasquez \u003crdvelasquez@google.com\u003e\n"
    },
    {
      "commit": "9ae75d0a45bdfa3e77dc39854b8b23e4ce9a6718",
      "tree": "23536dc7653ee8e6112860212adf7305fb399f0d",
      "parents": [
        "911df77c93d35e961e06a21ec2206654f90b802e"
      ],
      "author": {
        "name": "Dom Huh",
        "email": "domhuh@google.com",
        "time": "Tue Oct 06 19:41:42 2026 +0000"
      },
      "committer": {
        "name": "Dom Huh",
        "email": "domhuh@google.com",
        "time": "Tue Oct 06 14:22:01 2026 -0700"
      },
      "message": "cos_tools: upgrade go deps (otel and grpc) to fix cves\n\n```\ngo get google.golang.org/grpc@v1.83.2 go.opentelemetry.io/otel/sdk@v1.45.0\ngo mod tidy \u0026\u0026 go mod vendor\n```\n\nBUG\u003db/568437870\nTESTS\u003dpresubmit\nRELEASE_NOTE\u003dnone\n\nChange-Id: I2e8935ba44f7775a24ad6607c5127857748dd962\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/222686\nSLSA-Policy-Verified: SLSA Policy Verification Service \u003cdevtools-gerritcodereview-exitgate@google.com\u003e\nReviewed-by: Chenglong Tang \u003cchenglongtang@google.com\u003e\nTested-by: Dom Huh \u003cdomhuh@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "911df77c93d35e961e06a21ec2206654f90b802e",
      "tree": "28b7f688ca7c2bce2bcfa749ebe031bf0f43dd82",
      "parents": [
        "9ef149ec6ad70cf576dc2a6fd3ce8c30869c0685"
      ],
      "author": {
        "name": "He Gao",
        "email": "hegao@google.com",
        "time": "Tue Sep 29 17:16:14 2026 +0000"
      },
      "committer": {
        "name": "He Gao",
        "email": "hegao@google.com",
        "time": "Tue Sep 29 11:35:32 2026 -0700"
      },
      "message": "Release gpu-installer v2.7.9\n\nBUG\u003db/563050744\nTEST\u003dpresubmit\n\nChange-Id: I52fd314a692e21ffbe3b9e2f4d6fd0606e3f0740\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/218066\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Chenglong Tang \u003cchenglongtang@google.com\u003e\nTested-by: He Gao \u003chegao@google.com\u003e\nReviewed-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "9ef149ec6ad70cf576dc2a6fd3ce8c30869c0685",
      "tree": "167835a0b30d6a69a4b8c19d142f5fa6323ca826",
      "parents": [
        "62b21bf6e3b8150a6d6b2db43d11b79d882bc19b"
      ],
      "author": {
        "name": "He Gao",
        "email": "hegao@google.com",
        "time": "Fri Sep 25 22:58:33 2026 +0000"
      },
      "committer": {
        "name": "He Gao",
        "email": "hegao@google.com",
        "time": "Mon Sep 28 16:40:22 2026 -0700"
      },
      "message": "gpu-insatller: install ucode firmware if running on VR200\n\nBUG\u003db/563050744\nTEST\u003dpresubmit\n\nChange-Id: Id47438a6f8c8777e5431612349b27de7f423ca2e\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/212447\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\nTested-by: He Gao \u003chegao@google.com\u003e\n"
    },
    {
      "commit": "62b21bf6e3b8150a6d6b2db43d11b79d882bc19b",
      "tree": "1a9bfa3219ccef64fa53b29e87e5444eac4d8f63",
      "parents": [
        "8f16f6223dc6dbd9542e39632f21882e3b6f4bc6"
      ],
      "author": {
        "name": "Angel Adetula",
        "email": "angeladetula@google.com",
        "time": "Mon Sep 28 10:28:46 2026 -0700"
      },
      "committer": {
        "name": "Angel Adetula",
        "email": "angeladetula@google.com",
        "time": "Mon Sep 28 13:06:02 2026 -0700"
      },
      "message": "cos-tools: update the debain container for seal_oem_test to debain12.\n\nDebain11 can no longer be used to fetch the necessary certificates\nneeded for the seal_oem_test. This change updates the debain version\nto 12. This fixes the postsubmit failures.\n\nBUG\u003dNone\nTEST\u003dlocal docker build.\n\nChange-Id: I284a3604e2e3b3e62b7417e3622d63d61bf62363\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/217026\nReviewed-by: Daniel Velasquez \u003crdvelasquez@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Angel Adetula \u003cangeladetula@google.com\u003e\n"
    },
    {
      "commit": "8f16f6223dc6dbd9542e39632f21882e3b6f4bc6",
      "tree": "5ae5eb190e6ec502b28c155ff7cc48030d63bafe",
      "parents": [
        "3e935d22cb7b45e194ddbd5f64111c284da2d627"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Sat Sep 26 07:59:35 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Sat Sep 26 02:13:24 2026 -0700"
      },
      "message": "cos-dkms: Re-release v0.3.17\n\nThe previous version did not actually get staged properly, so it didn\u0027t\nend up being released. This version is present in dev and staging, so\nthe release should work as expected.\n\nBUG\u003db/563459031\nTEST\u003dpresubmit, pull from staging and dev and check grpc version\n\nChange-Id: I4d8526c1a96a95492e33904acdd6513cf7da58a6\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/212946\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nReviewed-by: Chenglong Tang \u003cchenglongtang@google.com\u003e\n"
    },
    {
      "commit": "3e935d22cb7b45e194ddbd5f64111c284da2d627",
      "tree": "9d0c54dbd823c703ef1afbb4db24bcbf8d0fb5e4",
      "parents": [
        "0d9c6e1b443d5d8ff4d375f1ea92a18ab839b56e"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Sat Sep 26 01:35:26 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Fri Sep 25 21:44:59 2026 -0700"
      },
      "message": "cos-dkms: Release version 0.3.17\n\nThis updates to grpc 1.83.1, which fixes CVE-2026-84304.\n\nBUG\u003db/563459031\nTEST\u003dpresubmit, download container and check\n`go version -m /usr/bin/cos-dkms | grep grpc`\n\nChange-Id: I62c67df3c9db6739525a4304b02cdbdde7208267\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/212706\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Chenglong Tang \u003cchenglongtang@google.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "0d9c6e1b443d5d8ff4d375f1ea92a18ab839b56e",
      "tree": "b879411131cec9997f78471b35481f1e0a035b41",
      "parents": [
        "4f9708a176ac6e6d5cdeb79061846d074f9e1817"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Wed Sep 23 18:16:10 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Thu Sep 24 14:23:06 2026 -0700"
      },
      "message": "Upgrade grpc to 1.83.1\n\nThis fixes CVE-2026-84304.\n\nBUG\u003db/563459031\nTEST\u003dpresubmit\n\nChange-Id: Icd0922df46ee5bee7765d8922171234e59601b3b\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/209967\nAI-Review: cloud-image-release \u003ccloud-image-release@prod.google.com\u003e\nReviewed-by: Angel Adetula \u003cangeladetula@google.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "4f9708a176ac6e6d5cdeb79061846d074f9e1817",
      "tree": "01999efa0611d968d2182b3a55c0afcc3d492e1c",
      "parents": [
        "04c1038596fe4875e72269de7bfad5dc057f4b31"
      ],
      "author": {
        "name": "chenglongtang",
        "email": "chenglongtang@google.com",
        "time": "Wed Sep 23 21:30:47 2026 +0000"
      },
      "committer": {
        "name": "Chenglong Tang",
        "email": "chenglongtang@google.com",
        "time": "Wed Sep 23 21:08:47 2026 -0700"
      },
      "message": "cos-gpu-installer v2.7.8 release\n\nSupport multi-version caching in cos-gpu-installer.\n\nBUG\u003db/528026235\nTEST\u003dn/a\nRELEASE_NOTE\u003dNone\n\nChange-Id: I6875d6181b9040789618973f49d5e0f76a6ef798\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/210267\nReviewed-by: Dom Huh \u003cdomhuh@google.com\u003e\nAI-Review: cloud-image-release \u003ccloud-image-release@prod.google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nBuild-Queue: Chenglong Tang \u003cchenglongtang@google.com\u003e\nTested-by: Chenglong Tang \u003cchenglongtang@google.com\u003e\n"
    },
    {
      "commit": "04c1038596fe4875e72269de7bfad5dc057f4b31",
      "tree": "441727d7f0b93dcb2192de6b807e76732b5be121",
      "parents": [
        "cf5d1b5ba97d51df3ec0e0adea84dd693afb69fe"
      ],
      "author": {
        "name": "chenglongtang",
        "email": "chenglongtang@google.com",
        "time": "Wed Sep 23 23:12:09 2026 +0000"
      },
      "committer": {
        "name": "Chenglong Tang",
        "email": "chenglongtang@google.com",
        "time": "Wed Sep 23 18:10:49 2026 -0700"
      },
      "message": "cos-gpu-installer: search subdirectories for gpu_driver_versions.bin\n\nIn multi-version preloading setups, GPU driver installations are placed\ninto subdirectories of host-dir (e.g. \u003cversion\u003e-\u003cflavor\u003e/). In an offline or qualification test environment with an unreleased image, the base host-dir does not contain gpu_driver_versions.bin, causing the installer to attempt downloading it from GCS and fail.\n\nSearch subdirectories of host-dir for an existing gpu_driver_versions.bin before falling back to downloading from GCS.\n\nBUG\u003db/528026235\nTEST\u003dgo test ./src/cmd/cos_gpu_installer/internal/installer/...\nRELEASE_NOTE\u003dNone\n\nChange-Id: Id4267057db036441cfca5e2871e87d45b9fc33cd\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/210369\nReviewed-by: Kevin Berry \u003ckpberry@google.com\u003e\nAI-Review: cloud-image-release \u003ccloud-image-release@prod.google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Chenglong Tang \u003cchenglongtang@google.com\u003e\n"
    },
    {
      "commit": "cf5d1b5ba97d51df3ec0e0adea84dd693afb69fe",
      "tree": "ba6c53442a77fb1f9158f36d9dfa685bb0d2d639",
      "parents": [
        "c5fa83f53169d4b859a6be7af0c595ed5eeb73c3"
      ],
      "author": {
        "name": "chenglongtang",
        "email": "chenglongtang@google.com",
        "time": "Thu Sep 17 18:49:13 2026 +0000"
      },
      "committer": {
        "name": "Chenglong Tang",
        "email": "chenglongtang@google.com",
        "time": "Wed Sep 23 13:17:31 2026 -0700"
      },
      "message": "cos-gpu-installer: support multi-version caching\n\nActivate a preloaded driver installation from a subdirectory of the\ninstallation directory, matched by its own cache entry, so an image\ncan carry several driver versions and install one without a\ndownload. The installation is linked into place, which keeps every\nversion in its own subdirectory: nothing is written into the\nsubdirectory of another version, and the installation directory\ncannot present a mix of two versions.\n\nAlso report the kernel module flavor in list output, so that the GKE\nimage preloader knows which installations it has to produce.\n\nBUG\u003db/528026235\nTEST\u003dpresubmit, E2E test: https://paste.googleplex.com/5415102803738624\nRELEASE_NOTE\u003dNone\n\nChange-Id: Ic04a5bd3ee521381e26caee1e7ea62dc07547aba\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/201768\nTested-by: Chenglong Tang \u003cchenglongtang@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: He Gao \u003chegao@google.com\u003e\nAI-Review: cloud-image-release \u003ccloud-image-release@prod.google.com\u003e\n"
    },
    {
      "commit": "c5fa83f53169d4b859a6be7af0c595ed5eeb73c3",
      "tree": "c72de7b27b8103fce01a7ac267a44217d9e1d803",
      "parents": [
        "216c960edc8379474cc3169c9dcfa6d7637782a5"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Wed Sep 09 19:12:03 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Mon Sep 21 17:42:52 2026 -0700"
      },
      "message": "cos_kernel: Add menuconfig command\n\nBUG\u003db/527927014\nTEST\u003dpresubmit, `cos-kernel menuconfig`, `cos-kernel --arch\u003darm64\nmenuconfig`\n\nChange-Id: I254cffbf60ea832ea8686a967c167f9c44213416\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/196689\nAI-Review: cloud-image-release \u003ccloud-image-release@prod.google.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "216c960edc8379474cc3169c9dcfa6d7637782a5",
      "tree": "c4fc26b4639904fe91d021a2f60147eca3b85e75",
      "parents": [
        "6a7cfc9e84ba2991f89493a12f553d438744b380"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Fri Sep 04 21:57:07 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Mon Sep 21 17:42:50 2026 -0700"
      },
      "message": "cos_kernel: Replace StringArray args with StringSlice\n\nThis makes it so that values can be passed as either separate arguments\nor comma-separated lists.\n\nBUG\u003dNone\nTEST\u003dpresubmit, `cos-kernel build -c lakitu_defconfig,debug.config`\n\nChange-Id: I7466a4811a7e4c7b9f3c7d59dfe7191f4c6e544c\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/195326\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nAI-Review: cloud-image-release \u003ccloud-image-release@prod.google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\n"
    },
    {
      "commit": "6a7cfc9e84ba2991f89493a12f553d438744b380",
      "tree": "613b2f834d648bff3c3f57001527f8fba27f51f6",
      "parents": [
        "acaec60aeeca822697606f6d5f2fb2c08d83c1ec"
      ],
      "author": {
        "name": "Angel Adetula",
        "email": "angeladetula@google.com",
        "time": "Thu Sep 17 16:03:42 2026 -0700"
      },
      "committer": {
        "name": "Angel Adetula",
        "email": "angeladetula@google.com",
        "time": "Fri Sep 18 10:31:51 2026 -0700"
      },
      "message": "Upgrade Bazel to 8.3.1 and migrate from WORKSPACE to Bzlmod\n\nMigrate external dependency management from the legacy WORKSPACE and\ndeps.bzl files to Bzlmod (MODULE.bazel) for compatibility with Bazel\n8.3.1:\n    - Replace WORKSPACE and deps.bzl with MODULE.bazel using rules_go\n      (0.57.0) and gazelle (0.45.0) go_deps extension reading go.mod.\n    - Add gazelle:exclude directives to the root BUILD.bazel and\n      gazelle:ignore to src/pkg/utils/BUILD.bazel so Gazelle only updates\n      Bazel-managed packages.\n    - Remove empty testdata glob in deviceinfo/BUILD.bazel to satisfy\n      Bazel 8\u0027s --incompatible_disallow_empty_glob default.\n    - Use errors.Is when checking for storage.ErrObjectNotExist or\n      storage.ErrBucketNotExist to handle wrapped errors from newer\n      cloud.google.com/go/storage versions.\n\nBUG\u003dNone\nTEST\u003dbazel test -- //... -//src/pkg/tools/..., bazel run gazelle\nRELEASE_NOTE\u003dNone\n\nChange-Id: Iebe2c703a5b2667351fcd466198911825ba86f14\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/201794\nAI-Review: cloud-image-release \u003ccloud-image-release@prod.google.com\u003e\nReviewed-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\nTested-by: Angel Adetula \u003cangeladetula@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "acaec60aeeca822697606f6d5f2fb2c08d83c1ec",
      "tree": "3767f80aba69f9f81644439076072b885ccf8928",
      "parents": [
        "acc95596c8963e07fb67d4af3159c29e604aa15f"
      ],
      "author": {
        "name": "Dom Huh",
        "email": "domhuh@google.com",
        "time": "Mon Sep 14 19:48:14 2026 +0000"
      },
      "committer": {
        "name": "Dom Huh",
        "email": "domhuh@google.com",
        "time": "Mon Sep 14 15:08:13 2026 -0700"
      },
      "message": "Release oem-preloader\n\nlatest image from https://pantheon.corp.google.com/artifacts/docker/cos-infra-prod/us/gcr-io-staging/oem-preloader?e\u003d13803378\u0026mods\u003dlogs_tg_prod\u0026project\u003dcos-infra-prod\n\nChange-Id: I4ac52a64ef0d26f7318e2ac0490638727a828432\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/199886\nTested-by: Dom Huh \u003cdomhuh@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\nAI-Review: cloud-image-release \u003ccloud-image-release@prod.google.com\u003e\n"
    },
    {
      "commit": "acc95596c8963e07fb67d4af3159c29e604aa15f",
      "tree": "99b1fc4159bc9065d5797e3e53ce42b6fe975373",
      "parents": [
        "7c1f394ced14791395794783c47474dd1d4d0814"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Wed Sep 09 21:16:11 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Wed Sep 09 16:50:01 2026 -0700"
      },
      "message": "Upgrade outdated container versions\n\nIt is no longer possible to install packages normally for Debian 11\nand Ubuntu 22.04, so we need to upgrade our containers to newer\nversions. This should fix the recent presubmit failures.\n\nBUG\u003dNone\nTEST\u003dpresubmit, build container images locally\n\nChange-Id: Iccb1855c6d41f1742890aeac28adf090d40fc6a3\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/196846\nReviewed-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\nAI-Review: cloud-image-release \u003ccloud-image-release@prod.google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "7c1f394ced14791395794783c47474dd1d4d0814",
      "tree": "974ed587315cfb75b689f79f0eff20d71eae2443",
      "parents": [
        "82c1502458b3d65c6a792b321eaa6a6f822b6621"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Fri Aug 28 07:21:29 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Fri Aug 28 09:42:05 2026 -0700"
      },
      "message": "cos_kernel: Fix file owner and permission bits in tarball\n\nPreviously, the files in the built tarball would be built with the\nuser\u0027s account as the owner and their default permission bits. Since the\ntarball contains the /lib directory, if the permission bits and user\nweren\u0027t set appropriately, then the permissions of the /lib directory\nwould be overwritten, meaning that unprivileged programs like\nsystemd-networkd couldn\u0027t load required .so libraries on arm64. This was\nnot a problem for x86 because the corresponding .so libraries for x86\nare in /lib64, which is not overwritten by the /lib from the tarball.\n\nFix this by setting the owner of the files in the tarball to root and\nmaking the files readable by all users.\n\nChange-Id: If0ae2b584e7a93969c3275934b50a08ba0685473\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/191507\nAI-Review: cloud-image-release \u003ccloud-image-release@prod.google.com\u003e\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "82c1502458b3d65c6a792b321eaa6a6f822b6621",
      "tree": "0ec2da513ea6b4fd4c05226121614a49b1a9308a",
      "parents": [
        "685d8e69a6edfb91e5997525ae2cd22de4d6ef02"
      ],
      "author": {
        "name": "Miri Amarilio",
        "email": "mirilio@google.com",
        "time": "Thu Aug 27 19:41:08 2026 +0000"
      },
      "committer": {
        "name": "Miri Amarilio",
        "email": "mirilio@google.com",
        "time": "Thu Aug 27 13:46:34 2026 -0700"
      },
      "message": "GPU installer: Turn user input to lowercase and fix semver not handling leading zeroes\n\n\nThis CL fixes 2 issues:\n1. When a user (unexpectedly) specifies a version with the \"-grid-gcp\" extensions, existing logic turns it all to upper case. When we look for a fallback grid version, we compare the upper case version to lower case versions from the textproto and we find no matches. Before trying to match, switch to lowercase.\n\n2. We used semver to sort the grid versions. Go\u0027s semver does not support leading zeroes so versions like \"580.126.09\" will not be handled correctly (see example https://go.dev/play/p/4y02-qSWhgy). Manually compare versions to resolve this.\n\nBUG\u003db/540965592\nTEST\u003dBuild and install drivers with the custom installer\nRELEASE_NOTE\u003dNone\n\nChange-Id: I0a7004d42e90e9def1f45be65459b8e0370c8675\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/190906\nTested-by: Miri Amarilio \u003cmirilio@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Daniel Velasquez \u003crdvelasquez@google.com\u003e\n"
    },
    {
      "commit": "685d8e69a6edfb91e5997525ae2cd22de4d6ef02",
      "tree": "8d43f86a928810a450b3de9c3be07b5fb9a7784c",
      "parents": [
        "7bd527c3604de720bff675491fbb5f87ec517106"
      ],
      "author": {
        "name": "chenglongtang",
        "email": "chenglongtang@google.com",
        "time": "Thu Aug 20 21:37:16 2026 +0000"
      },
      "committer": {
        "name": "Chenglong Tang",
        "email": "chenglongtang@google.com",
        "time": "Thu Aug 20 20:26:54 2026 -0700"
      },
      "message": "cos-dkms v0.3.16 release\n\nRelease cos-dkms with Go toolchain and builder upgraded to 1.26.6\nto resolve CVE-2026-33818 and CVE-2026-56865.\n\nBUG\u003db/548593947\nTEST\u003dn/a\nRELEASE_NOTE\u003dNONE\n\nChange-Id: Ib3444d78d0ddcddfa648294335fa86180caf234c\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/188087\nTested-by: Chenglong Tang \u003cchenglongtang@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "7bd527c3604de720bff675491fbb5f87ec517106",
      "tree": "a581f33794e525eb23eaf3e7be3bd062b7f58dee",
      "parents": [
        "c1c6be91517a1edfa65bcd7e43c66ca290615119"
      ],
      "author": {
        "name": "chenglongtang",
        "email": "chenglongtang@google.com",
        "time": "Wed Aug 19 22:45:38 2026 +0000"
      },
      "committer": {
        "name": "Chenglong Tang",
        "email": "chenglongtang@google.com",
        "time": "Thu Aug 20 12:36:57 2026 -0700"
      },
      "message": "cos/tools: upgrade Go toolchain and builder images to 1.26.6 to resolve CVE-2026-33818 and CVE-2026-56865\n\nUpgrade Go toolchain in go.mod, WORKSPACE, and all Go builder Dockerfiles\nacross cos/tools to Go 1.26.6 to resolve CVE-2026-33818 and CVE-2026-56865.\n\nBUG\u003db/548593947\nTEST\u003dgo build -mod\u003dvendor ./src/cmd/cos_dkms/main.go\nRELEASE_NOTE\u003dNone\n\nChange-Id: I683f92dfd6bc26d34c5b159e01c264bdc1b92e12\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/187426\nTested-by: Chenglong Tang \u003cchenglongtang@google.com\u003e\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "c1c6be91517a1edfa65bcd7e43c66ca290615119",
      "tree": "bc7aa00671e8a9066483b3f77fbd6ff4f4820f0d",
      "parents": [
        "f55697c4343b6359c0e76b8b6c867c5c0d2275d4"
      ],
      "author": {
        "name": "He Gao",
        "email": "hegao@google.com",
        "time": "Wed Aug 19 21:26:09 2026 +0000"
      },
      "committer": {
        "name": "He Gao",
        "email": "hegao@google.com",
        "time": "Wed Aug 19 15:26:29 2026 -0700"
      },
      "message": "cos-gpu-installer v2.7.7 release\n\nThis fixes cos-extensions gpu list command\non device that has no supported driver versions.\n\nChange-Id: Ida396939fec822c82d02307f0da07303206eaab0\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/187286\nTested-by: He Gao \u003chegao@google.com\u003e\nReviewed-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\nReviewed-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f55697c4343b6359c0e76b8b6c867c5c0d2275d4",
      "tree": "9791196072567f6877fda56ac0d6999bc528b5c0",
      "parents": [
        "cb6109da3a0d4489b324c07f416afaddc415624f"
      ],
      "author": {
        "name": "Derek",
        "email": "ddtaylor@google.com",
        "time": "Wed Aug 19 11:49:15 2026 -0700"
      },
      "committer": {
        "name": "Derek Taylor",
        "email": "ddtaylor@google.com",
        "time": "Wed Aug 19 12:57:51 2026 -0700"
      },
      "message": "Add --staging flag for gcloud staging support\n\nBUG\u003db/549208155\nTEST\u003dtested deploy and unlock on staging vm\nRELEASE_NOTE\u003dNone\n\nChange-Id: Ie692f77d2fd2346a149df7c5445d3e94405a415c\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/187127\nTested-by: Derek Taylor \u003cddtaylor@google.com\u003e\nReviewed-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "cb6109da3a0d4489b324c07f416afaddc415624f",
      "tree": "a73d833ccc43c30e64ebcb4deb7618b07a820152",
      "parents": [
        "e763de117de592b5594d9d79fbd656a2c12b5863"
      ],
      "author": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Wed Aug 19 09:06:12 2026 -0700"
      },
      "committer": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Wed Aug 19 12:06:30 2026 -0700"
      },
      "message": "cos_gpu_installer: do not abort list if device is missing\n\nLet\u0027s log a warning and continue listing devices if the COS version\ndoesn\u0027t have a record for a particular device in\ngpu-driver-versions.proto.\n\nTests are AI generated.\n\nBUG\u003db/542405340\nTEST\u003dRun list subcommand on recent 125 version\n\nChange-Id: I4b193adfff049014f2016b7a02d1e074f2805ea5\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/187146\nReviewed-by: He Gao \u003chegao@google.com\u003e\nReviewed-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\n"
    },
    {
      "commit": "e763de117de592b5594d9d79fbd656a2c12b5863",
      "tree": "8a7d8f9202dd49f487437c0910d5e27bdf53f2e4",
      "parents": [
        "9419f5b69a89e854d18a4986e76a4baa6c4358fd"
      ],
      "author": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Tue Aug 18 14:20:20 2026 -0700"
      },
      "committer": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Tue Aug 18 15:49:52 2026 -0700"
      },
      "message": "Update cos-gpu-installer fixed version for release\n\nThe last label mistakenly did not contain the vuln fix. This one should\nhave the vuln fix.\n\nBUG\u003db/542405340\n\nChange-Id: I51c6bd438554a7bca46d0b1f501b01ef197e309e\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/186666\nReviewed-by: Chenglong Tang \u003cchenglongtang@google.com\u003e\nTested-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "9419f5b69a89e854d18a4986e76a4baa6c4358fd",
      "tree": "6b9e6436d27535af50d7759624125cfc253121d4",
      "parents": [
        "1cd6b4b19cf2996103c7bb54840c5ee1f02a9d68"
      ],
      "author": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Tue Aug 18 11:06:59 2026 -0700"
      },
      "committer": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Tue Aug 18 12:33:37 2026 -0700"
      },
      "message": "Include vuln promotion blockers in 2.7.6 GPU installer release\n\nBUG\u003db/542405340\n\nChange-Id: I666cffffb2514850e6eccaa02e87a046576d2aa6\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/186512\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Kevin Berry \u003ckpberry@google.com\u003e\nTested-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\n"
    },
    {
      "commit": "1cd6b4b19cf2996103c7bb54840c5ee1f02a9d68",
      "tree": "b97dddf2630f6dcaebaaab921e40c235d0b6b761",
      "parents": [
        "e3357f4c65d7c2f0a2a99d9727638a5faca370f7"
      ],
      "author": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Tue Aug 18 09:42:55 2026 -0700"
      },
      "committer": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Tue Aug 18 11:00:28 2026 -0700"
      },
      "message": "Upgrade google.golang.org/grpc for GHSA-hrxh-6v49-42gf\n\nBUG\u003db/542405340\n\nChange-Id: I059e5936801b0942d066ed1b8dd7244fbebaa2ad\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/186386\nTested-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\nReviewed-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nSLSA-Policy-Verified: SLSA Policy Verification Service \u003cdevtools-gerritcodereview-exitgate@google.com\u003e\n"
    },
    {
      "commit": "e3357f4c65d7c2f0a2a99d9727638a5faca370f7",
      "tree": "dd087e1ac2331cf75124e7e8dea09a865221904f",
      "parents": [
        "4c804b07a3b56602ac590705b24856e33835c8cb"
      ],
      "author": {
        "name": "Dom Huh",
        "email": "domhuh@google.com",
        "time": "Fri Aug 07 23:51:43 2026 +0000"
      },
      "committer": {
        "name": "Dom Huh",
        "email": "domhuh@google.com",
        "time": "Tue Aug 18 09:54:05 2026 -0700"
      },
      "message": "Add ARM64 compatibility to read/write kernel command line with cos-kernel-args.\n\nBUG\u003dnone\nTEST\u003dlocal\nRELEASE_NOTE\u003dnone\n\nChange-Id: I9a30a764cb1f279d98beb2b51a0d21797ef46926\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/181548\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Dom Huh \u003cdomhuh@google.com\u003e\nSLSA-Policy-Verified: SLSA Policy Verification Service \u003cdevtools-gerritcodereview-exitgate@google.com\u003e\nReviewed-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\n"
    },
    {
      "commit": "4c804b07a3b56602ac590705b24856e33835c8cb",
      "tree": "663763bafa7c66cd5eae8e278ce44482a3fd536d",
      "parents": [
        "f84b40ed979b6216c76137967b7425d489be8f3c"
      ],
      "author": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Mon Aug 17 17:18:37 2026 -0700"
      },
      "committer": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Tue Aug 18 09:01:40 2026 -0700"
      },
      "message": "cos-gpu-installer release 2.7.6 for curl fix\n\nBUG\u003db/542405340\n\nChange-Id: I6ea87758eece00ffc90e4775ca8b7283f10f4cea\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/186186\nReviewed-by: Chenglong Tang \u003cchenglongtang@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Kevin Berry \u003ckpberry@google.com\u003e\nTested-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\n"
    },
    {
      "commit": "f84b40ed979b6216c76137967b7425d489be8f3c",
      "tree": "10a66707dc2dafdd737d0a10611ca76516a76b67",
      "parents": [
        "ef06f46352d54718c27b1eebc6b43ee97e8f3d08"
      ],
      "author": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Mon Aug 17 13:33:59 2026 -0700"
      },
      "committer": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Mon Aug 17 15:05:14 2026 -0700"
      },
      "message": "Revert \"cos_gpu_installer: remove curl and git from image\"\n\nThis reverts commit 027fae0de80f686cf824eec6286d21f668dac6f8.\n\nGKE depends on curl being installed here\n\nBUG\u003db/542405340\n\nChange-Id: I866f3a2ef975b8192e9573110f5bd3a6be70c51e\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/186126\nReviewed-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\nReviewed-by: Chenglong Tang \u003cchenglongtang@google.com\u003e\n"
    },
    {
      "commit": "ef06f46352d54718c27b1eebc6b43ee97e8f3d08",
      "tree": "6b2080ce84533540ff6a9f5470cdabe61cc50c83",
      "parents": [
        "6f256e5b5c2dd62dfa1c7841e4c02f02f4ad3488"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Sat Aug 15 22:43:21 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Sat Aug 15 20:08:11 2026 -0700"
      },
      "message": "cos-kernel: Handle patches which contain renames\n\nIf a patch renames a file, the output format in the logs of the patch\ncommand is:\n\nchecking patch \u003cx\u003e (renamed from \u003cy\u003e)\n\nThis would break the logic for collecting the list of files modified by\na patch since the \" (renamed from \u003cy\u003e)\" part would get included in the\nfile name passed to `git add`. Fix this by splitting the line and\ncollecting the new and old file names.\n\nTEST\u003d`cos-kernel prepare --patches\u003dirdma` for the main-R129-cos-6.12\nkernel (failed before, passes now)\nBUG\u003db/527927014\n\nChange-Id: I6cfe938f2d9536f1f51b05f34d2e70feab97f764\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/185386\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "6f256e5b5c2dd62dfa1c7841e4c02f02f4ad3488",
      "tree": "e3c969870efca2cf51bdfb27ca7fc811882f92f4",
      "parents": [
        "2577e84104ba1362f2119ef1a50084e94ef75edc"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Sat Aug 15 02:27:43 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Fri Aug 14 23:42:48 2026 -0700"
      },
      "message": "cos_kernel: Use patch command instead of git am\n\nWhen we build our kernel with portage, we apply patches with `eapply`.\nThis internally uses the `patch` command, which allows some context\nfuzzing. This generally makes patches easier to maintain than if patches\nwere applied with `git am`, which doesn\u0027t fuzz by default and has less\nsafe fuzzing behavior if enabled.\n\nIn order to make this tool better match the behavior of our ebuilds, we\nshould use the patch tool instead of `git am`. This will result in all\nof the patches being applied in one big commit. This makes the code a\nbit more complex, but should reduce the toil of trying to make patches\nmatch exactly without fuzzing.\n\nTested with the main-R121-cos-6.6 kernel by:\n\n1. `cos-kernel build --patches\u003dirdma` -\u003e applied patches correctly and\n   creates commit, leaving directory clean.\n2. `cos-kernel build --patches\u003didpf` -\u003e fails and cleans up directory\n   (idpf patches depend on irdma).\n3. Modify google/patches/idpf/0003 to corrupt it, then run\n   `cos-kernel build --patches\u003dirdma --patches\u003didpf` -\u003e fails, leaves\n   directory untouched, and outputs command which correctly cleans up\n   directory when run.\n\nBUG\u003db/527927014\nTEST\u003dpresubmit, see above\n\nChange-Id: Ib98050d97fcb4d08a4519040ed952d21a8d1e85a\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/185286\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "2577e84104ba1362f2119ef1a50084e94ef75edc",
      "tree": "9351fbc46f3dc3b4ad5d74e3eebd02dd0dffbb36",
      "parents": [
        "215b5771eaafc8d8ace07acc473fab536e74d5ae"
      ],
      "author": {
        "name": "He Gao",
        "email": "hegao@google.com",
        "time": "Thu Aug 06 00:31:23 2026 +0000"
      },
      "committer": {
        "name": "He Gao",
        "email": "hegao@google.com",
        "time": "Thu Aug 13 13:30:07 2026 -0700"
      },
      "message": "gpu installer: add support for VR200\n\nuse NVreg_CoherentGPUMemoryMode\u003ddriver\nand install IMEX by default.\n\nBUG\u003db/541381849\nTEST\u003dpresubmit\n\nChange-Id: Ie098e5a577f778ce71a2e4665a204f177ecf1730\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/180566\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Kevin Liu \u003czhihuil@google.com\u003e\nTested-by: He Gao \u003chegao@google.com\u003e\n"
    },
    {
      "commit": "215b5771eaafc8d8ace07acc473fab536e74d5ae",
      "tree": "ae19458c6590d687463a7270c88ed9405ce1cb14",
      "parents": [
        "51c7b73a227fc79597bf4cfed55ebc2cd999766d"
      ],
      "author": {
        "name": "Dom Huh",
        "email": "domhuh@google.com",
        "time": "Wed Aug 12 00:15:56 2026 +0000"
      },
      "committer": {
        "name": "Dom Huh",
        "email": "domhuh@google.com",
        "time": "Tue Aug 11 18:22:05 2026 -0700"
      },
      "message": "Update build tag for cos-customizer + oem-preloader release\n\nChange-Id: Ia9bc7cb83b03cc20f605f8ae2e3aa21f2ee0bb60\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/183346\nReviewed-by: Kevin Liu \u003czhihuil@google.com\u003e\nTested-by: Dom Huh \u003cdomhuh@google.com\u003e\nReviewed-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "51c7b73a227fc79597bf4cfed55ebc2cd999766d",
      "tree": "5e3fbfd658bcdb44f18c27d09f285ba554822909",
      "parents": [
        "69302f40bf8c96a81006f5bbd638f0f0ff984ae8"
      ],
      "author": {
        "name": "Dom Huh",
        "email": "domhuh@google.com",
        "time": "Tue Aug 11 19:46:28 2026 +0000"
      },
      "committer": {
        "name": "Dom Huh",
        "email": "domhuh@google.com",
        "time": "Tue Aug 11 14:22:03 2026 -0700"
      },
      "message": "cos-customizer + oem_preloader release with fix tests\n\nhttps://cos-review.git.corp.google.com/c/cos/tools/+/182906\n\nChange-Id: I2f3b4ae83c58549a642aad413cb00a6acd19e18f\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/183186\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Dom Huh \u003cdomhuh@google.com\u003e\nReviewed-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\n"
    },
    {
      "commit": "69302f40bf8c96a81006f5bbd638f0f0ff984ae8",
      "tree": "7e013331d62075cdf08d770b1b1c48ce10892c75",
      "parents": [
        "3df553c0ee36eca9ebd129091852d0c5905a9e99"
      ],
      "author": {
        "name": "Dom Huh",
        "email": "domhuh@google.com",
        "time": "Tue Aug 11 17:41:31 2026 +0000"
      },
      "committer": {
        "name": "Dom Huh",
        "email": "domhuh@google.com",
        "time": "Tue Aug 11 12:34:16 2026 -0700"
      },
      "message": "Fix zones and reduce n4 cores (8 -\u003e 2) for hyperdisk_test.\n\nThis test tends to stockout.\n\nChange-Id: Ied323e064bd4c80078efcfb4c11ad09a4a43a1c5\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/182906\nTested-by: Dom Huh \u003cdomhuh@google.com\u003e\nReviewed-by: He Gao \u003chegao@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "3df553c0ee36eca9ebd129091852d0c5905a9e99",
      "tree": "09644d66b4c835a5f5a4eaa59e237b427ebd88f1",
      "parents": [
        "81fbfbd6aa2f15cf65f4adb3492f89709a982d13"
      ],
      "author": {
        "name": "Dom Huh",
        "email": "domhuh@google.com",
        "time": "Tue Aug 11 17:08:32 2026 +0000"
      },
      "committer": {
        "name": "Dom Huh",
        "email": "domhuh@google.com",
        "time": "Tue Aug 11 11:45:30 2026 -0700"
      },
      "message": "Update test zones for t2a gpu test\n\nChange-Id: I13d2d683051fa1d1d5df5c8b2bd905169f26bbd6\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/182846\nTested-by: Dom Huh \u003cdomhuh@google.com\u003e\nReviewed-by: He Gao \u003chegao@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "81fbfbd6aa2f15cf65f4adb3492f89709a982d13",
      "tree": "559fb1494dc807ea34dcd90e8fbef600504956f9",
      "parents": [
        "e48a08b7c5f4ccbf8d6675ec0bd80d0e5faccb0c"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Mon Aug 10 22:59:46 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Mon Aug 10 17:44:02 2026 -0700"
      },
      "message": "cos-kernel: Fix edge case when new and old kernel versions match\n\nWhen the new and old kernel version numbers match, the old kernel\nmodules must be removed from an instance. Currently, the modules are\nremoved before the EFI partition is mounted. If the vfat module is\nnot already loaded in this case, then the mount fails and the new kernel\nis never switched to. This effectively bricks the instance since the old\nvfat driver no longer exists and the new one will get rejected by the\nkernel, so the EFI partition can never be mounted again to fix the\nissue.\n\nFix this by always mounting the EFI partition before removing the old\nmodules.\n\nBUG\u003db/527927014\nTEST\u003drun `cos-kernel deploy cos-kernel-6.18.41+-x86_64.txz -- kpberry-cos-kernel-test` repeatedly\n\nChange-Id: I62b6b8b1ca89d6e8fec972b12d4a148146014214\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/182646\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nReviewed-by: Daniel Velasquez \u003crdvelasquez@google.com\u003e\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "e48a08b7c5f4ccbf8d6675ec0bd80d0e5faccb0c",
      "tree": "5d47a8976e75e8e1040818957bda29da197fbe76",
      "parents": [
        "0860541cd781199c08d58a5ac2218cb5cb5febb0"
      ],
      "author": {
        "name": "Dom Huh",
        "email": "domhuh@google.com",
        "time": "Mon Aug 10 17:30:13 2026 +0000"
      },
      "committer": {
        "name": "Avinash Patnala",
        "email": "avinashpatnala@google.com",
        "time": "Mon Aug 10 12:11:42 2026 -0700"
      },
      "message": "cos-customizer release\n\nfor version https://cos-review.git.corp.google.com/c/cos/tools/+/180326\n-\u003e https://pantheon.corp.google.com/cloud-build/builds/4e032367-abbd-4c55-a39e-eaf380816cf7?project\u003dgoogle.com:cloud-image-docker-builder\u0026e\u003d13803378\n\nChange-Id: Ie09a3e86e27152187ce03a9b50a87398007598a5\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/182506\nTested-by: Dom Huh \u003cdomhuh@google.com\u003e\nReviewed-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0860541cd781199c08d58a5ac2218cb5cb5febb0",
      "tree": "5814fec39c34dc62342313c83ff359d060d7dee4",
      "parents": [
        "4d78d6884d96c2d39988832c9213b70d6546d3a9"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Fri Aug 07 22:31:56 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Mon Aug 10 10:43:19 2026 -0700"
      },
      "message": "cos-kernel: Clean up arg logic and add more defaults\n\nNew defaults:\n  arch -\u003e x86_64\n  build -\u003e cos-dev\n  board -\u003e lakitu or lakitu-arm64, depending on arch\n  configs -\u003e [lakitu_defconfig]\n\nBUG\u003db/527927014\nTEST\u003dpresubmit, `cos-kernel build`\n\nChange-Id: Ia58a4b5f97bb15b5a876662c9cbbfc6577bbdc96\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/181486\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\n"
    },
    {
      "commit": "4d78d6884d96c2d39988832c9213b70d6546d3a9",
      "tree": "5c47ba9ec6779220cf3d291c8a9623d3e7856729",
      "parents": [
        "f14991142a0aa6b0f1c23efae0a0de66da4df710"
      ],
      "author": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Fri Aug 07 16:20:52 2026 -0700"
      },
      "committer": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Mon Aug 10 10:01:30 2026 -0700"
      },
      "message": "cos-gpu-installer release\n\nChange-Id: Iabaded12ed32e5cf71a45aceca3b78890ce2b062\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/181526\nTested-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f14991142a0aa6b0f1c23efae0a0de66da4df710",
      "tree": "381906a7e992cd60583914ab01c00175e18d3bb1",
      "parents": [
        "027fae0de80f686cf824eec6286d21f668dac6f8"
      ],
      "author": {
        "name": "Avinash Patnala",
        "email": "avinashpatnala@google.com",
        "time": "Wed Aug 05 19:29:34 2026 +0000"
      },
      "committer": {
        "name": "Avinash Patnala",
        "email": "avinashpatnala@google.com",
        "time": "Mon Aug 10 09:21:14 2026 -0700"
      },
      "message": "oempreloader: revert linux prefix in oem dm-mod.create sed command\n\nRevert the `/^[[:space:]]*linux/` line scoping in the oemCommand sed\nsubstitution so that dm-mod.create is properly matched and injected\nacross all kernel command line formats, including UKI images which do\nnot contain the \"linux\" keyword.\n\nBUG\u003dnone\nTEST\u003dpresubmit\n\nChange-Id: Ia8a09325426463555b36b32a83ae727cf855f3d2\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/180326\nReviewed-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\n"
    },
    {
      "commit": "027fae0de80f686cf824eec6286d21f668dac6f8",
      "tree": "8ec1749bda83a32ace5b7105d4d74c8536b39390",
      "parents": [
        "309a20676b727067f40ea0d99a46efc7738a5099"
      ],
      "author": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Fri Aug 07 09:40:29 2026 -0700"
      },
      "committer": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Fri Aug 07 15:00:41 2026 -0700"
      },
      "message": "cos_gpu_installer: remove curl and git from image\n\nchangelogctl tests are broken so disable for now\n\nBUG\u003db/542405340\n\nChange-Id: I007a3348dbe56357240cd628c7dd6aabc0415408\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/181146\nReviewed-by: Miri Amarilio \u003cmirilio@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\n"
    },
    {
      "commit": "309a20676b727067f40ea0d99a46efc7738a5099",
      "tree": "cfecd21d2852a72f6ab56da1771f6477470455ea",
      "parents": [
        "af33bc71e06d7d7ac365c4e5f5dea13402aca715"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Thu Aug 06 23:51:59 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Fri Aug 07 14:53:35 2026 -0700"
      },
      "message": "cos-kernel: Move COS check to top of file\n\nCurrently, the script exits when it tries to source common_minimal.sh on\na non-cos instance. Move the COS check to the top of the file to give a\nmore helpful error message.\n\nBUG\u003dNone\nTEST\u003dpresubmit, run `cos_kernel unlock` in cloudtop\n\nChange-Id: Iaca05e0aff960fcfe9f6c16bc44d505208aee781\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/181006\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "af33bc71e06d7d7ac365c4e5f5dea13402aca715",
      "tree": "1d903192801d628bbd4361fa16ea3da779f26c47",
      "parents": [
        "b70f2feb5b5aaa80597cfd5f36a2c53c4b4e4af0"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Thu Aug 06 04:13:43 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Thu Aug 06 16:47:50 2026 -0700"
      },
      "message": "cos-kernel: Add deploy command\n\nThis reuses the cos-kernel-deploy script from\nproject-lakitu/dev-util/cos-dev-tools.\n\nBUG\u003db/527927015\nTEST\u003dpresubmit, `./cos_kernel deploy ~/kernel/cos-kernel-6.18.41+-x86_64.txz kpberry-cos-kernel-test`\n\nChange-Id: Ib8118b777adda08a5b7be719ed4dbf89461a47a0\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/180647\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "b70f2feb5b5aaa80597cfd5f36a2c53c4b4e4af0",
      "tree": "9432a88861a1d96652c10ec86949cf2801dabe20",
      "parents": [
        "197e3fd4a031a9f6ec9b7d4d6ecd04bc84620ddb"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Thu Aug 06 02:42:30 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Thu Aug 06 16:47:50 2026 -0700"
      },
      "message": "cos-kernel: Reimplement unlock using cos-set-dev-mode\n\nThe existing cos-set-dev-mode script from\nproject-lakitu/dev-util/cos-dev-tools is much simpler to use than the\npair of scripts that was previously used.\n\nWe also simplify the gcloud compute ssh wrapper by using a general retry\npattern, and we move the unlock library functions to pkg/kernel to\nmore cleanly separate them from the command logic.\n\nBUG\u003db/527929696\nTEST\u003dpresubmit, `./cos_kernel unlock kpberry-cos-kernel-test`\n\nChange-Id: I6dfea0436ef0782272152da44151133965c0eab8\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/180646\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "197e3fd4a031a9f6ec9b7d4d6ecd04bc84620ddb",
      "tree": "fa5318678e2dcc8934e6fa318691f9fd2da1f0e3",
      "parents": [
        "a47bfa29b0966903531c21f3fea331f4e25d1acd"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Sat Aug 01 02:34:39 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Wed Aug 05 09:09:35 2026 -0700"
      },
      "message": "cos-kernel: Infer build number from build description\n\nThis adds functions to infer the build number from a build description\nlike \"master\", \"cos-125\", \"main-R125\", \"beta\", 19907.0.0, etc. This is\nrequired for feature parity with cos_kernel_devenv.\n\nBUG\u003db/527927014\nTEST\u003dpresubmit\n\nChange-Id: I061bf6c027e7a44230d7ff327ebc6015e1f09fe5\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/177846\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "a47bfa29b0966903531c21f3fea331f4e25d1acd",
      "tree": "9721089793919ba714955174ad8474ba162a30ad",
      "parents": [
        "3a75a1276e766cedad1b5c484556ac36209150b0"
      ],
      "author": {
        "name": "Miri Amarilio",
        "email": "mirilio@google.com",
        "time": "Wed Aug 05 03:44:38 2026 +0000"
      },
      "committer": {
        "name": "Miri Amarilio",
        "email": "mirilio@google.com",
        "time": "Wed Aug 05 08:38:28 2026 -0700"
      },
      "message": "cos-tools: release cos-gpu-installer v2.7.5\n\nBUG\u003db/542405340\nTEST\u003dn/a\nRELEASE_NOTE\u003dNONE\n\ncos-patch: bug\nChange-Id: I26efcdff5778d2dec18651f8c09f53315bfef374\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/179667\nTested-by: Miri Amarilio \u003cmirilio@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "3a75a1276e766cedad1b5c484556ac36209150b0",
      "tree": "b4346d180ea4dee404d576c0426211936efe8d88",
      "parents": [
        "c3fc3c47b960bb9c74a62b9af1b7f1a5d54d8df5"
      ],
      "author": {
        "name": "Miri Amarilio",
        "email": "mirilio@google.com",
        "time": "Tue Aug 04 19:11:30 2026 +0000"
      },
      "committer": {
        "name": "Miri Amarilio",
        "email": "mirilio@google.com",
        "time": "Tue Aug 04 17:43:01 2026 -0700"
      },
      "message": "trigger persistenced in cos-extensions and not in the gpu-installer\n\nThis reverts the change where persistenced was moved to be triggered from the cos-gpu-installer.\nThis causes issues on GB300. Probably because of the very slow boot on bare-metal.\n\nThis CL reverts the logic for persistenced done in these CLs:\n1. https://cos-review.git.corp.google.com/c/cos/tools/+/149184\n2. https://cos-review.git.corp.google.com/c/cos/cos-extensions/+/149046\n3. https://cos-review.git.corp.google.com/c/cos/tools/+/154503\n\nBUG\u003db/542405340\nTEST\u003dBuild and run on a4xmax pod. Check cuda and that:\nsudo /home/kubernetes/bin/nvidia/bin/nvidia-smi -q | grep -E \"Persistence Mode|Attached GPUs|Product Name\"\nshows Persistence Mode: Disabled\nThen running:\nsudo /home/kubernetes/bin/nvidia/bin/nvidia-smi -pm 1\nwhich turns Persistence Mode: Enabled\nRELEASE_NOTE\u003dNONE\n\ncos-patch:bug\nChange-Id: Ib185b94b0cf02c88bc1b1788d634d59da5ff4f46\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/179466\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Miri Amarilio \u003cmirilio@google.com\u003e\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\n"
    },
    {
      "commit": "c3fc3c47b960bb9c74a62b9af1b7f1a5d54d8df5",
      "tree": "7289106947bdfb84e34f0af68ec3d326c70f2e3c",
      "parents": [
        "54fdf7a4e6a65220c366ab400068fc8884f0912d"
      ],
      "author": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Thu Jul 30 11:25:30 2026 -0700"
      },
      "committer": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Thu Jul 30 13:52:11 2026 -0700"
      },
      "message": "Revert \"20260729 release of oem-preloader\"\n\nThis reverts commit 54fdf7a4e6a65220c366ab400068fc8884f0912d.\n\nThis oem-preloader release appears not to work, revert latest tag.\n\nChange-Id: I55f0789716845aa1fe201b0e075987ff54aaa01f\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/176146\nReviewed-by: He Gao \u003chegao@google.com\u003e\nReviewed-by: Dom Huh \u003cdomhuh@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\n"
    },
    {
      "commit": "54fdf7a4e6a65220c366ab400068fc8884f0912d",
      "tree": "e32d7faa05067a54f853325cd49f5c8df94d7d81",
      "parents": [
        "5277d47746b05ee9e6b9fcdb619722e58760289d"
      ],
      "author": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Wed Jul 29 15:53:55 2026 -0700"
      },
      "committer": {
        "name": "Robert Kolchmeyer",
        "email": "rkolchmeyer@google.com",
        "time": "Wed Jul 29 17:59:05 2026 -0700"
      },
      "message": "20260729 release of oem-preloader\n\nIncludes arm64 fixes\n\nBUG\u003dNone\n\nChange-Id: I74b382a9be165940556439dfce23c6b2d2f75165\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/175276\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Avinash Patnala \u003cavinashpatnala@google.com\u003e\nReviewed-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\nTested-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\n"
    },
    {
      "commit": "5277d47746b05ee9e6b9fcdb619722e58760289d",
      "tree": "7289106947bdfb84e34f0af68ec3d326c70f2e3c",
      "parents": [
        "61dce9b43069b36320637b58fe4523442ef440fe"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Tue Jul 28 23:59:41 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Wed Jul 29 11:11:51 2026 -0700"
      },
      "message": "cos_kernel_args: Allow up to 1024 allowlist args to be set\n\nBUG\u003dNone\nTEST\u003dpresubmit\n\nChange-Id: I7ac2ba47f6d529e799f3a80a0e7f865ef9cf26cc\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/174586\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nReviewed-by: Miri Amarilio \u003cmirilio@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "61dce9b43069b36320637b58fe4523442ef440fe",
      "tree": "02a145cce4fbd3482e62c49bb089ca0bdb01a36e",
      "parents": [
        "83d4d5a17a74f01d8013c9c67e12e4dae4d8d696"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Sun Jul 26 03:30:58 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Tue Jul 28 12:19:30 2026 -0700"
      },
      "message": "cos_kernel_args: Allow bitfield file to be an array\n\nThis allows encoding arbitrarily long bitfields. For now, we still set\nan arbitrary limit of 1024 bits, but this should be good enough.\n\nBUG\u003dNone\nTEST\u003dpresubmit\n\nChange-Id: I9400789b682d807f626b7f69d125a9d9c661f3ff\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/173546\nReviewed-by: Miri Amarilio \u003cmirilio@google.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "83d4d5a17a74f01d8013c9c67e12e4dae4d8d696",
      "tree": "eac1710db1e6fb3090fb461093c3e8e87e9e3784",
      "parents": [
        "f73efeac587dc71cea9f50f1163f020975f3e78c"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Sun Jul 26 20:06:10 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Tue Jul 28 09:49:06 2026 -0700"
      },
      "message": "kernel: Fix length check for patch workflow\n\nWe want to skip the patch checks if there is an empty, but not nil, list\nof patches. Update the length check accordingly.\n\nBUG\u003dNone\nTEST\u003dpresubmit\n\nChange-Id: I34992817093e5b893d603b9a8827b27f3048ad9f\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/173666\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "f73efeac587dc71cea9f50f1163f020975f3e78c",
      "tree": "c54b9f2ce310aef78fa59e8c0fe2387d98340f46",
      "parents": [
        "a629d0c9dd64c3efc078daed4efa3c6f495d280f"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Tue Jul 28 00:27:39 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Tue Jul 28 09:44:37 2026 -0700"
      },
      "message": "cos-dkms: Release v0.3.15\n\nThis adds the --min-version and --max-version flags. This makes it\npossible to install the latest version of a driver within a restricted\nrange.\n\nBUG\u003db/495839296\nTEST\u003dpresubmit\n\nChange-Id: Id1aa70d3f685b843c3b1b0efc05f1c96039ec910\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/174086\nReviewed-by: Angel Adetula \u003cangeladetula@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "a629d0c9dd64c3efc078daed4efa3c6f495d280f",
      "tree": "3a18e3e8d66fb7f1d7f3f4a986bbff63e3e3d82d",
      "parents": [
        "32a9fa66810d7717c32a6cc233ddfcd0b9fc28b9"
      ],
      "author": {
        "name": "Avinash Patnala",
        "email": "avinashpatnala@google.com",
        "time": "Tue Jun 23 07:18:40 2026 +0000"
      },
      "committer": {
        "name": "Avinash Patnala",
        "email": "avinashpatnala@google.com",
        "time": "Thu Jul 23 14:17:46 2026 -0700"
      },
      "message": "cosboot, oempreloader, provisioner: Support ARM64 and secure kernel command line modifications\n\nThis change enables COS image customization and provisioner execution on ARM64 architectures by dynamically resolving the EFI bootloader path (bootaa64.efi / bootx64.efi via BootEFIFile).\n\nSpecifically:\n- Refactors cosboot API (BootEFIFile) to dynamically detect the active EFI bootloader and return its binary content in a single call, avoiding duplicate disk reads across callsites.\n- Scopes oempreloader sed modifications to kernel directives (/^[[:space:]]*linux/). Safely appends OEM DM-Verity entries (;oemroot...) to existing dm-mod.create parameters, or adds dm-mod.create\u003d\"%s\" from scratch if missing in the base image.\n- Updates ARM64 provisioner VM repartitioning (patchGrubForARM64) to redirect slot B kernel references from /syslinux/vmlinuz.B to /syslinux/vmlinuz.A, preventing 64MB EFI partition disk space exhaustion (ENOSPC).\n- Patches slot B root partition targets in grub.cfg using cosboot.ReplaceInSlotEntry to ensure robust slot B partition UUID switching without provisioner VM boot loops.\n\nTAG\u003dagy\nCONV\u003de90bae76-29c4-4708-88c6-50508b446fc6\nChange-Id: Iaff25063f9dc460979921021cd1b70a1d2afe5c0\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/163164\nReviewed-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\nTested-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "32a9fa66810d7717c32a6cc233ddfcd0b9fc28b9",
      "tree": "6feefa5605d747d7e374a4bf077cadfed94ab315",
      "parents": [
        "f62e95f0eacbcb120fa000af4ca7932332777b38"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Wed Jul 15 23:56:10 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Wed Jul 22 10:59:40 2026 -0700"
      },
      "message": "cos-dkms: Add modprobe example to README\n\nBUG\u003dNone\nTEST\u003dpresubmit\n\nChange-Id: I0e64b03ad3902a087c5f6b5a28fba764a40f0b92\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/169824\nReviewed-by: Angel Adetula \u003cangeladetula@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "f62e95f0eacbcb120fa000af4ca7932332777b38",
      "tree": "d0f52dbd91c3eed8c263efd4c5cebc3e41bff684",
      "parents": [
        "c6a10d27e617ebc948ad599032ca318e0ca1bf9a"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Wed Jul 15 17:45:12 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Wed Jul 22 10:58:38 2026 -0700"
      },
      "message": "cos-dkms: Explain more flags and fix examples in readme\n\nBUG\u003dNone\nTEST\u003dpresubmit\n\nChange-Id: Icf99cc153d1ede33b7b6061ec71b3b15c69dde60\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/169604\nReviewed-by: Angel Adetula \u003cangeladetula@google.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "c6a10d27e617ebc948ad599032ca318e0ca1bf9a",
      "tree": "64ed126a240af5c0ce5e9401c6ff7df04dfb73ce",
      "parents": [
        "c556a7cb47de5ed5877f64152228ec53c4f37279"
      ],
      "author": {
        "name": "Derek",
        "email": "ddtaylor@google.com",
        "time": "Thu Jul 09 16:35:50 2026 -0700"
      },
      "committer": {
        "name": "Derek Taylor",
        "email": "ddtaylor@google.com",
        "time": "Thu Jul 16 11:16:34 2026 -0700"
      },
      "message": "Implement unlock action\n\nBUG\u003db/527929696\nTEST\u003dtested locally\nRELEASE_NOTE\u003dNone\n\nChange-Id: Ic56e7ac006b53e0b3ecb82c4eed9745e0fe1dfb8\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/167664\nTested-by: Derek Taylor \u003cddtaylor@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "c556a7cb47de5ed5877f64152228ec53c4f37279",
      "tree": "2ac4ffbca0119ad83bbda6e4dbac1d49eb01bfb2",
      "parents": [
        "ced40836ced0ac10c60a941c2edf0a1eb2923be8"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Wed Jul 15 06:15:41 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Wed Jul 15 16:19:15 2026 -0700"
      },
      "message": "cos-dkms: Add support for --{min,max}-version\n\nIn some cases, such as when two major versions of a package are\navailable, it can be important to specify a minimum and maximum package\nversion to be installed.\n\nFor instance, we may want to make the Lustre 2.14 and 2.16 drivers\navailable simultaneously. However, some users may not want to upgrade to\nthe 2.16 drivers, but would still want the latest available 2.14\ndrivers. This can now be done by specifying --max-version\u003d2.14.9999.\nUsing --max-version or --min-version always implies --latest.\n\nBUG\u003db/495839296\nTEST\u003dpresubmit, unit tests\n\nChange-Id: Ieadea27b5861e7d2626b08279c131ce47c43ada9\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/169284\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Yuchen Tian \u003ctyuchn@google.com\u003e\nReviewed-by: Angel Adetula \u003cangeladetula@google.com\u003e\n"
    },
    {
      "commit": "ced40836ced0ac10c60a941c2edf0a1eb2923be8",
      "tree": "c0c7877f3c1efd144acc91ca505527ab4767a66f",
      "parents": [
        "d7b72514e340bb7efbd85ccf45371d5c2168d0a4"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Fri Jul 10 22:45:37 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Tue Jul 14 23:45:38 2026 -0700"
      },
      "message": "cos_kernel: Minor clean up\n\nBUG\u003dNone\nTEST\u003dpresubmit\n\nChange-Id: I0571647f51a4eb0f6cb1999acf9e9cb899114ca6\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/168007\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d7b72514e340bb7efbd85ccf45371d5c2168d0a4",
      "tree": "b25c50dff60237eaf08c5266cd60b6ada0ecae48",
      "parents": [
        "a1bdd4da10a9c78f3d69303dd2d6a2bec1317623"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Mon Jul 13 21:21:06 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Mon Jul 13 15:33:07 2026 -0700"
      },
      "message": "changelogctl: Skip TestFindBuild\n\nThis test is failing, presumably because of a gerrit permission issue.\nThis is blocking some other presubmits, so we\u0027ll disable it for now.\nThe test passes when running locally, so there is no real issue with the\ntool.\n\nBUG\u003db/534432914\nTEST\u003dpresubmit\n\nChange-Id: Icc6e425ea5992b584f21e47a992fad5ac4da7647\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/169084\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "a1bdd4da10a9c78f3d69303dd2d6a2bec1317623",
      "tree": "53e25dd6b8dec99fd5d338b60dbf6e07cd3e2ccd",
      "parents": [
        "0956a2c92c830e6d13fca9a78bf1cd5c9051dbfd"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Mon Jun 29 22:24:37 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Mon Jun 29 16:43:10 2026 -0700"
      },
      "message": "cos_kernel: Verify bin vars in toolchain/bin exist before use\n\nHypothetically, if toolchain_env contained things other than paths to\nbins relative to toolchain/bin, then the set of kernel make args would\nbe wrong. To avoid this, we check if each item is actually an executable\nbinary before setting its value in the make args map.\n\nTEST\u003dpresubmit\nBUG\u003db/527927014\n\nChange-Id: Ibfd354ee6c45a14593605a9fc304134b83b4b50e\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/165584\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0956a2c92c830e6d13fca9a78bf1cd5c9051dbfd",
      "tree": "570bd0576cd1db20c6dbd71188728e0244c65ee0",
      "parents": [
        "5a0bbc4400e1d8b6e83fcaa809262e467926f601"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Mon Jun 29 17:31:40 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Mon Jun 29 15:23:03 2026 -0700"
      },
      "message": "cos_kernel: Add commands for building kernel\n\nBUG\u003db/527927014\nTEST\u003dpresubmit, run each command, build a kernel tarball and use it to\nreplace the kernel in a VM\n\nChange-Id: I8f1d880d02b71e07059ff1b474f1d95d8435f29e\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/165488\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "5a0bbc4400e1d8b6e83fcaa809262e467926f601",
      "tree": "343f442653ff6afaf41770399e5af366704ba775",
      "parents": [
        "d1d7a9ba634dede192b19fa9fa9c91693ed1310b"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Tue May 26 00:51:57 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Mon Jun 29 15:02:16 2026 -0700"
      },
      "message": "cos_kernel: Add command line script to download headers and toolchain\n\nBUG\u003db/527927014\nTEST\u003dpresubmit, run command to download headers and toolchain\n\nChange-Id: I02027115b8c8e5276ab68e857d6e2959e71e424d\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/165487\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\n"
    },
    {
      "commit": "d1d7a9ba634dede192b19fa9fa9c91693ed1310b",
      "tree": "2eb83dc448f7a267261f16649231d389cbf006d1",
      "parents": [
        "b39cb89e65dbfaf091d217902420a3562562b1dc"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Mon Jun 29 17:25:45 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Mon Jun 29 15:02:04 2026 -0700"
      },
      "message": "kernel: Add commands for branch management\n\nThis includes commands to prepare kernel branches and create patches\nfrom them. This adds a small library of helper functions for running git\ncommands.\n\nBUG\u003db/527927014\nTEST\u003dpresubmit, create kernel branches and patches\n\nChange-Id: Ib94663b2ec35e021ca36efab434660dabbb7c573\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/165486\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "b39cb89e65dbfaf091d217902420a3562562b1dc",
      "tree": "37f00a667fc22b83f0684688dc488ff077106efc",
      "parents": [
        "9c3c642b31980f2bee94047f5f71569bd1c7d36e"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Mon Jun 29 17:12:57 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Mon Jun 29 14:45:22 2026 -0700"
      },
      "message": "kernel: Add kernel build library\n\nThis adds functions for building the kernel, running kernel make\ncommands, and building a full kernel tarball.\n\nBUG\u003db/527927014\nTEST\u003dpresubmit, build kernel tarball and replace the kernel in a VM\n\nChange-Id: Ia61b3ca33e64cb5784c883ea3329d6f4110a50c2\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/165485\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "9c3c642b31980f2bee94047f5f71569bd1c7d36e",
      "tree": "00f1ab405b0fc6d35c91cd8d40837ae6b613cb5b",
      "parents": [
        "813b61e74315b2baa4639648250ad6338b1dbfbe"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Tue May 26 00:46:10 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Mon Jun 29 14:21:34 2026 -0700"
      },
      "message": "cos: Add function to get kernel make flags\n\nBUG\u003db/527927014\nTEST\u003dpresubmit\n\nChange-Id: Iac0d0c30e7ef3bb5c473cdc9e8431e1796ce3faa\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/165484\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "813b61e74315b2baa4639648250ad6338b1dbfbe",
      "tree": "27fbd6a9bb8216e3ff1992ff900abb5a58f509fb",
      "parents": [
        "75cd359962d482c8dafea72b74a52f04b8feb772"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Sat Jun 27 17:47:29 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Mon Jun 29 11:36:29 2026 -0700"
      },
      "message": "cos-dkms: Improve logging for hook commands\n\nBefore, hook command output would only be written when the command\nfinished. For long running commands, this makes it look like cos-dkms is\njust stuck, which is unintuitive. We should log to stderr instead.\n\nBUG\u003dNone\nTEST\u003dpresubmit\n\nChange-Id: I70c3ecc0170548890be580ce4ca1ecec765aa3fe\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/165307\nReviewed-by: Angel Adetula \u003cangeladetula@google.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "75cd359962d482c8dafea72b74a52f04b8feb772",
      "tree": "1ff8bab87d431ad61fa4ae7cec108b967f7d251e",
      "parents": [
        "da62051d66fa5eb7b41f4cc0886aa14db49db103"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Sat Jun 27 16:56:06 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Mon Jun 29 11:36:29 2026 -0700"
      },
      "message": "cos-dkms: Fix dkms.conf in Lustre example\n\nThe POST_ADD instruction was missing some build dependencies, so the\nbuild would fail.\n\nBUG\u003dNone\nTEST\u003dpresubmit\n\nChange-Id: Idf7e965afdef7edde7836510535f08853cf5de48\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/165306\nReviewed-by: Angel Adetula \u003cangeladetula@google.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "da62051d66fa5eb7b41f4cc0886aa14db49db103",
      "tree": "4ac6f512c35caf4441477c049b34280a2ced7012",
      "parents": [
        "dead9326f32b2a99cfab1db4d5de01d9151bc745"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Fri Jun 26 17:01:56 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Fri Jun 26 11:45:30 2026 -0700"
      },
      "message": "cos-dkms: Add README.md\n\nAlso fixes a typo in the cos_dkms_runner readme.\n\nBUG\u003dNone\nTEST\u003dpresubmit\n\nChange-Id: Ieb4a46c3a690c00595a551aec4079917bcef7137\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/164785\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Angel Adetula \u003cangeladetula@google.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "dead9326f32b2a99cfab1db4d5de01d9151bc745",
      "tree": "6c877cb2aa958b8d417ebc02184f87f254f4666d",
      "parents": [
        "3bc276ba50b5ccaded9baf5c29edf8214b4c55ac"
      ],
      "author": {
        "name": "Angel Adetula",
        "email": "angeladetula@google.com",
        "time": "Thu Jun 25 19:24:56 2026 +0000"
      },
      "committer": {
        "name": "Angel Adetula",
        "email": "angeladetula@google.com",
        "time": "Thu Jun 25 13:24:35 2026 -0700"
      },
      "message": "cos-tools/cos-dkms: Release v0.3.14\n\nUpgraded golang to v1.26.4. This fixes b/525432735.\n\nBUG\u003db/525432735\nTEST\u003dcloudbuild\n\nChange-Id: Ibf8c9dd125cdca8a6270e4f17ff28d4b353ba95d\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/164344\nReviewed-by: Kevin Berry \u003ckpberry@google.com\u003e\nTested-by: Angel Adetula \u003cangeladetula@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "3bc276ba50b5ccaded9baf5c29edf8214b4c55ac",
      "tree": "5474ffa1a11b6fdf76c50e0c0bda437b303a73be",
      "parents": [
        "a3aa23b152a5a65282a2c9145fc6edbb24768012"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Mon May 25 05:34:52 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Wed Jun 24 16:53:59 2026 -0700"
      },
      "message": "Move toolchain and header downloads to kernel directory\n\nThese functions aren\u0027t really specific to cos-dkms, so we move them to a\nmore general kernel directory.\n\nBUG\u003dNone\nTEST\u003dpresubmit\n\nChange-Id: I27b1c76392d76b3ec20cd4a1d5ce2cb8a07e0e53\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/154084\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\n"
    },
    {
      "commit": "a3aa23b152a5a65282a2c9145fc6edbb24768012",
      "tree": "9f845ea32f6bc8f726ca7ac0817398666eb4cfaf",
      "parents": [
        "ef01c373560989620320536242e2bc03b084d8ed"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Wed Mar 25 03:08:16 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Wed Jun 24 15:25:42 2026 -0700"
      },
      "message": "cos-dkms: Add atomic install functions\n\nThis cleans up build.go slightly and makes it easier for other code to\nreuse the atomic installation functions.\n\nBUG\u003dNone\nTEST\u003dpresubmit\n\nChange-Id: I72173c8fb537a8b31c1cf2ab07ced119720b0226\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/154083\nReviewed-by: Derek Taylor \u003cddtaylor@google.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "ef01c373560989620320536242e2bc03b084d8ed",
      "tree": "8896c95a7fa9abab0f358ff6cb872f5d6e427ab1",
      "parents": [
        "18efb6faafc62d7d6bb3fd046a6174341c74cc4e"
      ],
      "author": {
        "name": "Angel Adetula",
        "email": "angeladetula@google.com",
        "time": "Wed Jun 24 18:33:42 2026 +0000"
      },
      "committer": {
        "name": "Angel Adetula",
        "email": "angeladetula@google.com",
        "time": "Wed Jun 24 13:09:27 2026 -0700"
      },
      "message": "cos-tools: Upgrade golang to v1.26.4.\n\nThis change upgrade golang from v1.26.3 to v1.26.4.\n\nBUG\u003db/525432735\nTEST\u003d`go mod tidy`, `bazel run //:gazelle`, and cloudbuild.\nRELEASE_NOTE\u003dNone\n\nChange-Id: I027324322a8a4c22fbeb83a9fd8426a031f96cb8\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/163687\nReviewed-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Angel Adetula \u003cangeladetula@google.com\u003e\n"
    },
    {
      "commit": "18efb6faafc62d7d6bb3fd046a6174341c74cc4e",
      "tree": "236abc2127aeb8afcd055defdd8bc5608ba83653",
      "parents": [
        "ce6eae81fa1679457e837643331a70510a52e7be"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Tue Jan 07 18:15:10 2025 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Wed Jun 24 10:37:42 2026 -0700"
      },
      "message": "gcs-client: Return error when download dir missing\n\nIf DownloadDir is called for a GCS path which has no descendants, this\nshould be an error since it implies that the corresponding virtual GCS\ndirectory does not actually exist.\n\nBUG\u003dNone\nTEST\u003dpresubmit\n\nChange-Id: I84773248773f93cf7f51166774b5cae8a1db078d\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/163225\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Angel Adetula \u003cangeladetula@google.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "ce6eae81fa1679457e837643331a70510a52e7be",
      "tree": "08b88734fe8b851f46a8054608147f50df4e979f",
      "parents": [
        "bda1a91a375ce3f0b3f18f60b6e7342f3146b847"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Tue Jun 23 23:45:59 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Tue Jun 23 20:06:31 2026 -0700"
      },
      "message": "cos-dkms: Handle circular module dependencies\n\nIf a module is accidentally renamed to something that results in a\ncircular dependency, we should explicitly catch that instead of looping\ninfinitely.\n\nAdded some test cases too.\n\nBUG\u003dNone\nTEST\u003dpresubmit\n\nChange-Id: Ic8c9b9b951f046a2529cd2848ab5bc26c28623ce\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/163304\nReviewed-by: Angel Adetula \u003cangeladetula@google.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "bda1a91a375ce3f0b3f18f60b6e7342f3146b847",
      "tree": "5fa1d073d0e3399ec0800c62aa7a89ac27e9bb4d",
      "parents": [
        "f59d5631c365460e273a973d287a3155c6d939c6"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Sun Jun 21 20:46:34 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Tue Jun 23 17:02:47 2026 -0700"
      },
      "message": "cos-dkms: Add forced cached test cases\n\nWith the recent --force cached fixes, it\u0027s important to add these test\ncases to make sure there\u0027s no other unexpected behavior.\n\nBUG\u003db/526308430\nTEST\u003dpresubmit\n\nChange-Id: I627eeb82fff4f1299232caa8e3094faa6bdd11f3\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/162666\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Angel Adetula \u003cangeladetula@google.com\u003e\n"
    },
    {
      "commit": "f59d5631c365460e273a973d287a3155c6d939c6",
      "tree": "8c51f3ea488934b19a34b9dfa533648290db4aaf",
      "parents": [
        "e8c7b712772ac60142b39df9ef408e0898cc6835"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Sun Jun 21 20:49:05 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Tue Jun 23 17:02:35 2026 -0700"
      },
      "message": "cos-dkms: Replace clean with simple RemoveAll\n\nUpstream DKMS has deprecated the CLEAN variable in favor of just\nremoving the build directory when a package is unbuilt. This simplifies\nthings, so we do the same.\n\nBUG\u003db/526308430\nTEST\u003dpresubmit\n\nChange-Id: Id2c4023002aeccad8f405b7483480e2c4e6dfa09\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/162665\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Angel Adetula \u003cangeladetula@google.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "e8c7b712772ac60142b39df9ef408e0898cc6835",
      "tree": "019ce491c9a76bf1f4948161970e044769e4a05d",
      "parents": [
        "400027332127a072cf4a682342e211431342cb16"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Sun Jun 21 20:47:11 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Tue Jun 23 17:02:25 2026 -0700"
      },
      "message": "cos-dkms: Handle cached cases where sources already exist\n\nWhen doing a cached download while --forced is true, we end up trying to\nreplace the downloaded sources in the source tree with the new ones. In\ngeneral, though, we don\u0027t want to overwrite values in the sources tree.\nWe should log a warning instead of crashing or deleting the old sources.\n\nBUG\u003db/526308430\nTEST\u003dpresubmit\n\nChange-Id: I14212331de35c6e5d60eadbbaf0347df1139f74c\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/162664\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Angel Adetula \u003cangeladetula@google.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "400027332127a072cf4a682342e211431342cb16",
      "tree": "17fbf0967f53f76704357197462de296eb748e96",
      "parents": [
        "afa194b402256d81b182b3156f0007b8f108e3b1"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Sun Jun 21 15:35:18 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Tue Jun 23 11:13:13 2026 -0700"
      },
      "message": "cos-dkms: Make removing from remote cache explicit\n\nThe cos-dkms runner script passes a GCS bucket by default. This means\nthat the remove and unbuild commands will automatically try to delete\nfrom the remote cache, which is typically not the expected behavior.\nMake this behavior explicit with the --upload flag like we did for add\nand build.\n\nBUG\u003db/526269563\nTEST\u003dpresubmit\n\nChange-Id: Iee4138707aa070c7d1fa65abdd6f851215fa8286\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/162644\nReviewed-by: Angel Adetula \u003cangeladetula@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "afa194b402256d81b182b3156f0007b8f108e3b1",
      "tree": "a46a0120a9d1a3633c3fefe8e4155c98ae750beb",
      "parents": [
        "de3cbba3b248bb9745b1a69ed56b41ac700cf455"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Wed Jul 02 23:46:43 2025 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Tue Jun 23 11:12:55 2026 -0700"
      },
      "message": "cos-dkms: Add runner script\n\nThis adds a runner script that can be used to launch cos-dkms on COS\ninstances.\n\nBUG\u003db/526269563\nTEST\u003dpresubmit, copy cos_dkms_runner to /var/lib/google/cos-dkms on a\nCOS instance and run `sudo /var/lib/google/cos-dkms install lustre-client-utils --latest`\n\nChange-Id: Ifb4aea7843ae3bfbe40e3564b3b5ef9b53d6bf0d\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/106219\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nReviewed-by: Angel Adetula \u003cangeladetula@google.com\u003e\n"
    },
    {
      "commit": "de3cbba3b248bb9745b1a69ed56b41ac700cf455",
      "tree": "32d63d224bbccc4cca4d0ff6099cf599c289083f",
      "parents": [
        "eb9828f19c1e7d25ce6c267e9fe3b2e8dfd4ae93"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Fri Apr 03 05:18:10 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Mon Jun 22 21:41:35 2026 -0700"
      },
      "message": "containers: Add container library\n\nThis adds a container library which presents a simplified version of the\ncontainerd API for running container tasks.\n\nBUG\u003db/526269563\nTEST\u003dpresubmit\n\nChange-Id: If6e57ab77c7042d3e05354d4cb40fac97282e96b\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/89747\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    },
    {
      "commit": "eb9828f19c1e7d25ce6c267e9fe3b2e8dfd4ae93",
      "tree": "371f76962b426c6eb2760adc0832eda6d7b3c755",
      "parents": [
        "a95d632e606f922a6ecdbd988d407c8e20521263"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Sun Jun 21 14:50:40 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Mon Jun 22 21:41:35 2026 -0700"
      },
      "message": "Add containerd dependency and bump golang versions\n\nThis is required for using the containerd api to spawn containers. With\nthis containerd version, the minimum go version is 1.26.3, so we bump\nthe container golang versions as well.\n\nBUG\u003db/526269563\nTEST\u003dpresubmit\n\nChange-Id: I74aec02f22472253265247a2427820b5990233d9\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/142305\nSLSA-Policy-Verified: SLSA Policy Verification Service \u003cdevtools-gerritcodereview-exitgate@google.com\u003e\nReviewed-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "a95d632e606f922a6ecdbd988d407c8e20521263",
      "tree": "6338292d5f0c2212aec42cfcfdeefe723c309e5a",
      "parents": [
        "328cae9521b258a194d98991a63fde1d6e22770d"
      ],
      "author": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Thu Jun 11 18:40:08 2026 +0000"
      },
      "committer": {
        "name": "Kevin Berry",
        "email": "kpberry@google.com",
        "time": "Mon Jun 15 10:33:32 2026 -0700"
      },
      "message": "cos_kernel_devenv: Migrate from gsutil to gcloud storage\n\nBUG\u003dNone\nTEST\u003dpresubmit\nRELEASE_NOTE\u003dNone\n\nChange-Id: I869826a0f4638d9b7021002cb26c2327cdfa3918\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/159424\nReviewed-by: Vaibhav Rustagi \u003cvaibhavrustagi@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nBuild-Queue: Vaibhav Rustagi \u003cvaibhavrustagi@google.com\u003e\nReviewed-by: Chenglong Tang \u003cchenglongtang@google.com\u003e\nTested-by: Vaibhav Rustagi \u003cvaibhavrustagi@google.com\u003e\n"
    },
    {
      "commit": "328cae9521b258a194d98991a63fde1d6e22770d",
      "tree": "6fd234265c5d2a55807c0ccef458f4cd0cafa6f1",
      "parents": [
        "aab7772e2d7fc6cb2189cfd65d4dae2230332822"
      ],
      "author": {
        "name": "He Gao",
        "email": "hegao@google.com",
        "time": "Sun Jun 14 16:31:15 2026 +0000"
      },
      "committer": {
        "name": "He Gao",
        "email": "hegao@google.com",
        "time": "Sun Jun 14 11:47:01 2026 -0700"
      },
      "message": "Release cos-customizer v20260614 for ARM support\n\nBUG\u003dNone\nTEST\u003dpresubmit\n\nChange-Id: Ib71ddee657d639cf952dccef3da96def28c13679\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/160045\nReviewed-by: Kevin Berry \u003ckpberry@google.com\u003e\nTested-by: He Gao \u003chegao@google.com\u003e\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "aab7772e2d7fc6cb2189cfd65d4dae2230332822",
      "tree": "e2af15f9ca2eeb068c4cdacc9de0092dbffe270c",
      "parents": [
        "75424b442d23efb3d7076edc79702014d77e7312"
      ],
      "author": {
        "name": "Angel Adetula",
        "email": "angeladetula@google.com",
        "time": "Sat Jun 13 17:18:08 2026 +0000"
      },
      "committer": {
        "name": "Angel Adetula",
        "email": "angeladetula@google.com",
        "time": "Sat Jun 13 13:10:21 2026 -0700"
      },
      "message": "cos-tools: Release cos-gpu-installer v2.7.4\n\nBUG\u003db/522034439\nTEST\u003dcloudbuild\nRELEASE_NOTE\u003dNone.\n\nChange-Id: Ifa8656bb89457fcb7ff5600241be04ca9827276d\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/159864\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nTested-by: Angel Adetula \u003cangeladetula@google.com\u003e\nReviewed-by: Miri Amarilio \u003cmirilio@google.com\u003e\n"
    },
    {
      "commit": "75424b442d23efb3d7076edc79702014d77e7312",
      "tree": "a55f9c2957689a5411fdacbd5125992b812bd6ac",
      "parents": [
        "96789fee5304bb1bcbe8b7ecaa38dedddf0a0aae"
      ],
      "author": {
        "name": "Angel Adetula",
        "email": "angeladetula@google.com",
        "time": "Fri Jun 12 17:30:26 2026 -0700"
      },
      "committer": {
        "name": "Angel Adetula",
        "email": "angeladetula@google.com",
        "time": "Fri Jun 12 23:23:39 2026 -0700"
      },
      "message": "Revert \"cos-gpu-installer: Ensure the gsp firmware is in firmware_class.path directory.\"\n\nThis reverts commit 805d0f31a50b186ca5ca140f13ac72f5b64a0a3f.\n\nReason for revert: Breaks boltvm suspend and resume nvidia preloading\n\nChange-Id: I2778ae06c2138fe2377905fedafbcad1584fcbe5\nReviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/159724\nCloud-Build: 228075978874@cloudbuild.gserviceaccount.com \u003c228075978874@cloudbuild.gserviceaccount.com\u003e\nReviewed-by: Miri Amarilio \u003cmirilio@google.com\u003e\nReviewed-by: Kevin Berry \u003ckpberry@google.com\u003e\nTested-by: Kevin Berry \u003ckpberry@google.com\u003e\n"
    }
  ],
  "next": "96789fee5304bb1bcbe8b7ecaa38dedddf0a0aae"
}
