)]}'
{
  "log": [
    {
      "commit": "5fdca5678df575870c5c2def673669e894b5158e",
      "tree": "c4a02abab427e96b568ff5b22f8c77c0882c33ea",
      "parents": [
        "9d2f3c681fee76b54dc202da6ca140151f588be8"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Apr 14 11:33:29 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 06:55:58 2025 +0000"
      },
      "message": "metropolis: use new OS image format for install\n\nThis switches the USB and SSH installation methods to the new OS image\nformat based on OCI artifacts.\n\nWhen stored on disk, the new format consists of a directory containing\nan OCI layout, instead of a single file. This means that all steps which\ncopy or upload an image now need to handle a tree of files.\n\nChange-Id: I526d32f5c50bd74f513f785118768a56b2655fa0\nReviewed-on: https://review.monogon.dev/c/monogon/+/4090\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "7ea9ef105600a845445523033d5745bb654d3000",
      "tree": "628eb95ac3cc9a661472a767f21da7a7750fb008",
      "parents": [
        "51f81e5779eac05472fa060f519c481f512bd704"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Mar 27 15:57:41 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Apr 07 10:21:53 2025 +0000"
      },
      "message": "m/cli/metroctl: use one progress bar for all files\n\nPreviously, there was a separate progress bar for each uploaded file,\nnow there is just one which shows the total number of bytes transferred.\n\nChange-Id: Id4cba63889077a076cb63d437e3fe4b17cfc3786\nReviewed-on: https://review.monogon.dev/c/monogon/+/4049\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "51f81e5779eac05472fa060f519c481f512bd704",
      "tree": "c8002db983f28a4f0441a568bfdc4b69a8fb6f13",
      "parents": [
        "0175d7ab5a5f0414fa4a472b7cf0e066fe8e5f66"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Mar 27 13:13:46 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Apr 07 10:21:53 2025 +0000"
      },
      "message": "osbase/net/sshtakeover: fix upload cancelation\n\nThis updates sftp to the latest version, which has various improvements.\n\nThe previous method of canceling uploads doesn\u0027t work anymore, because\nClose tries to take a lock already held by ReadFromWithConcurrency.\nEven with the previous version of sftp, this wasn\u0027t a correct way to\ncancel an upload, because it just sent a message to the server to close\nthe handle, while continuing the upload in the other goroutine.\n\nThere is a work in progress v2 of sftp where Close actually can be used\nto cancel an upload: https://github.com/pkg/sftp/issues/603\n\nFor now, I think the best way to cancel an upload is to make the reader\nreturn an error.\n\nChange-Id: Id70ea7d35526a2a98295168de26469e28fd127dd\nReviewed-on: https://review.monogon.dev/c/monogon/+/4048\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "0175d7ab5a5f0414fa4a472b7cf0e066fe8e5f66",
      "tree": "6c519e0d656373c0fbe273f4e6eeb5747fa329c7",
      "parents": [
        "997faa44e945697717b2eaf22786ba803f741a1e"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Mar 26 12:57:23 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Apr 07 10:21:53 2025 +0000"
      },
      "message": "osbase/net/sshtakeover: refactor package\n\nThis is an extensive refactoring of the sshtakeover package.\n\nThe package is renamed from //go/net/ssh to //osbase/net/sshtakeover,\nto make it more clear what the package is for and avoid clashes with\ngolang.org/x/crypto/ssh.\n\nThe previous Client type was removed, and Dial is now a top-level\nfunction which takes an ssh.ClientConfig. The previous Connection type\nwas renamed to Client, which makes the naming match ssh.Client.\n\nThe Client interface type was moved to //cloud/shepherd/manager. This\nallows us to add more functions to sshtakeover.Client without breaking\nconsumers of the package, which would need to add dummy implementations\nfor functions which they don\u0027t need.\n\nThe Upload function was renamed to UploadExecutable, and the new Upload\nfunction can be used for files that don\u0027t need to be executable.\n\nThe sftp client is now created at the same time as the client, instead\nof creating a new one for each uploaded file.\n\nChange-Id: I3be9c346713cb4e5c2b33f9c8c9a6f11ca569a75\nReviewed-on: https://review.monogon.dev/c/monogon/+/4047\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    }
  ]
}
