)]}'
{
  "log": [
    {
      "commit": "3c6183f7f12ded0c563239c7eff1f1dc4a9bebec",
      "tree": "e3487e97b71fb10a310780a36c7438f4fb9af242",
      "parents": [
        "bc32bcd241a9270786a749266ce4f6a5df6d0a6e"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Dec 16 02:42:21 2024 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Dec 23 13:10:21 2024 +0000"
      },
      "message": "osbase/supervisor: use MustRegister for metrics registration\n\nChange-Id: I4321c626f210bea025ab27bfecf783425f1482b5\nReviewed-on: https://review.monogon.dev/c/monogon/+/3703\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "5b997a113d011c35ecc981594c95a53d67311f83",
      "tree": "61b4a9db6eab7a23d58242a098b8a65670b181eb",
      "parents": [
        "fce7c765ace0ae7058af9498e228eca30dd4695c"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Dec 19 15:10:07 2024 +0100"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Dec 23 10:13:43 2024 +0000"
      },
      "message": "osbase/event/memory: remove Sync feature\n\nThe Sync feature was unused, and I\u0027m not sure using it anywhere is a\ngood idea. If you really do need reliable delivery of events to multiple\nconsumers, then you probably also would need some mechansim for a\nconsumer to restart at the point in the history it has last seen before\nit failed. Removing this feature simplifies the implementation and\nallows new features to be implemented.\n\nChange-Id: I94731355b7208f91256bc4610cb31a2720ab6c68\nReviewed-on: https://review.monogon.dev/c/monogon/+/3717\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "fce7c765ace0ae7058af9498e228eca30dd4695c",
      "tree": "4d331860270a59969d0f917a72e87e7dde74b9a6",
      "parents": [
        "08c1c72246da4f8f18dfb7e94a1da813b094c7a4"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Dec 19 14:07:24 2024 +0100"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Dec 23 10:13:43 2024 +0000"
      },
      "message": "osbase/supervisor: restart DONE nodes when needed\n\nNodes in DONE state are normally not restarted. However, if a sibling of\nthe node dies, then the node in DONE state and all its children are\ncanceled and need to be restarted. Previously, this did not happen, so\nthe newly added test got stuck waiting forever for the inner runnable to\nstart again.\n\nChange-Id: I8c437937d21edb822985ec6fa3f36425e12ff218\nReviewed-on: https://review.monogon.dev/c/monogon/+/3716\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "08c1c72246da4f8f18dfb7e94a1da813b094c7a4",
      "tree": "e8dd5a474edb79f2658b951e64b993b38c46b210",
      "parents": [
        "65602097b716674316a318d5594a8b2b0e52d239"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Dec 19 12:03:17 2024 +0100"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Dec 23 10:13:43 2024 +0000"
      },
      "message": "osbase/supervisor: only enter DONE state after runnable returns\n\nPreviously, a node was marked DONE as soon as it signaled DONE. If a GC\nrun happens between the time when the runnable signals DONE, and when\nthe runnable exit is processed, this causes problems. The test which I\nadded panics without the other changes:\n\npanic: could not find [inner] (root.inner) in root (NODE_STATE_NEW)\n\nIf the delay is long enough that the inner node has already restarted,\nthen this could even end up with multiple instances of the same runnable\nrunning simultaneously.\n\nI fixed this problem by only entering the DONE state after the runnable\nhas returned.\n\nChange-Id: If73b73f104c4cc204bce4374f4ba5f7e163e4a0b\nReviewed-on: https://review.monogon.dev/c/monogon/+/3715\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "65602097b716674316a318d5594a8b2b0e52d239",
      "tree": "750858f9b0302860f49ccde11edbd908ce58df94",
      "parents": [
        "aa6b42a15c38d1d99301673fa76c6b0f2953a892"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Dec 19 10:37:34 2024 +0100"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Dec 23 10:13:43 2024 +0000"
      },
      "message": "osbase/supervisor: make restart sleep cancelable\n\nPreviously, if a runnable died, and immediately after also its parent,\nthen the parent was only restarted after waiting for both the child\nand then parent restart backoff sleep. Additionally, the child was\nrestarted with an already canceled context.\n\nNow, the restart sleep can be canceled, and if canceled will directly\ngo to CANCELED state without first starting the runnable.\n\nChange-Id: Ie986db680d4df12d590881d1a7e468c741a732d9\nReviewed-on: https://review.monogon.dev/c/monogon/+/3714\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "aa6b42a15c38d1d99301673fa76c6b0f2953a892",
      "tree": "5b79f12996420eb010ff8bb340710f8ef4669383",
      "parents": [
        "bdbb9c2baa94f72bf57ad1c13a2c2a5c3ff01858"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Dec 18 18:03:26 2024 +0100"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Dec 23 10:13:43 2024 +0000"
      },
      "message": "osbase/supervisor: canceled runnables are not live\n\nThis fixes a bug which caused a test to be flaky; it could get stuck\nwith the TestHarness waiting for runnables in CANCELED state to die.\n\nChange-Id: I31394e407662fe05918907650931859c6bba35fe\nReviewed-on: https://review.monogon.dev/c/monogon/+/3713\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "bdbb9c2baa94f72bf57ad1c13a2c2a5c3ff01858",
      "tree": "97fad3e69df9ac10117a71846320dd8748caeecd",
      "parents": [
        "742fde7cd4861bb16b4f0655b84f587510c1e84b"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Dec 18 15:14:02 2024 +0100"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Dec 23 10:13:43 2024 +0000"
      },
      "message": "m/node/core/time: use CommandContext\n\nChange-Id: Ie98b949facf3d26c819bdf56329f5837b8e3dac7\nReviewed-on: https://review.monogon.dev/c/monogon/+/3712\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "007d66e6b32db8080d37738b2986871729a48e03",
      "tree": "2f8e97539a365a16eab8c84a5be701c1303b07a6",
      "parents": [
        "83f0aa47b5e9c02cc6871760fcac29b31b344c48"
      ],
      "author": {
        "name": "Timon Stampfli",
        "email": "timon@timon.ch",
        "time": "Sun Dec 15 16:29:04 2024 +0100"
      },
      "committer": {
        "name": "Timon Stampfli",
        "email": "timon@timon.ch",
        "time": "Fri Dec 20 15:53:04 2024 +0000"
      },
      "message": "o/blockdev: add windows implementation\n\nThis adds a relatively bare bones, but working implementation of\nblockdev for Windows.  Has been manually tested on Windows 23H2.\n\nChange-Id: I7a2bf0a46e973f838506a321ad815629f62a3b35\nReviewed-on: https://review.monogon.dev/c/monogon/+/3696\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nVouch-Run-CI: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "83f0aa47b5e9c02cc6871760fcac29b31b344c48",
      "tree": "a3f923ef7db47733008c92d2d2a7fc0d24b32ec8",
      "parents": [
        "b62b8e04eb6f2f6ebc54ecc397ded788a924f279"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Dec 09 20:34:33 2024 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Dec 17 23:06:51 2024 +0000"
      },
      "message": "osbase/build: update progress messages to contain output short_name\n\nChange-Id: Id41a05a7b8f5cec6e50d9c74ee09309d1a4b504f\nReviewed-on: https://review.monogon.dev/c/monogon/+/3691\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "affe8fa229e3a701e060cb6bc35b9362814b5daf",
      "tree": "63c91aa39676df52139f5c0df6023feff1ab0def",
      "parents": [
        "e49c273818f88cc4ff2fd9fcb8bb8272b70f1beb"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Dec 02 17:53:24 2024 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Dec 03 14:31:57 2024 +0000"
      },
      "message": "osbase/build: remove redundant platform_transition_binary rule\n\nWe have the aspect library in our dependencies anyway,\nso there is no point in copying this.\n\nChange-Id: I160a13a90dd45a0495670bd453a3aa0a16cfb771\nReviewed-on: https://review.monogon.dev/c/monogon/+/3674\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "795951910e1c6f66efecf40e4dcc909d143999fc",
      "tree": "c6b16e84340b390da57b3628f6d5ef1b71ac89c1",
      "parents": [
        "d589b6afab60a4cfc5723c04ae83183a4487ec7e"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Nov 11 14:55:56 2024 +0100"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Nov 12 16:14:55 2024 +0000"
      },
      "message": "osbase/fat32: write file creation time\n\nAdd file creation times to directory entries. This was already partially\nimplemented, and there even was a test. But the test was conditional on\nthe kernel version, and the version comparison was broken. The test\ntimestamps were also wrong, as the last component of time.Date is\nnanoseconds, not milliseconds.\n\nChange-Id: Ic00d6bb27aced918df018c9ff3148d12ecb07753\nReviewed-on: https://review.monogon.dev/c/monogon/+/3608\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "d589b6afab60a4cfc5723c04ae83183a4487ec7e",
      "tree": "fd404d8cdda2f86a1298aaa85b15a3946770e597",
      "parents": [
        "5d1bf6ab597d1ebfc4284bcb7df6648c17535464"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Nov 11 14:55:38 2024 +0100"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Nov 12 16:14:55 2024 +0000"
      },
      "message": "osbase/fat32: fix corrupted directories\n\nPreviously, after writing the contents of a file or directory, any\nremaining space in the last cluster was left as is instead of zeroed.\nFor files this may be acceptable, but directories do not have an\nexplicit size in bytes. The result is that, if the device was not zeroed\nbefore writing the FAT32, each directory contains some number of\nadditional garbage entries, with a random name, size, and initial\ncluster.\n\nThe fix is to ensure that the last cluster of a directory is filled up\nwith zeroes, following the FAT32 spec (page 24): \"initialize all bytes\nof that cluster to 0\". The change also applies to files, where zeroing\nthe remainder of the last cluster should not be necessary, but also\ndoesn\u0027t hurt. At most 32 KiB of zeroes (the maximum cluster size) will\nbe written for each file.\n\nThe fsck test is extended to initialize the file with random bytes.\nWithout the fix, this results in fsck reporting a large number of\nproblems.\n\nChange-Id: I7729e028c92bfad9b879a4256f3fa4f7af25553a\nReviewed-on: https://review.monogon.dev/c/monogon/+/3607\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "272c8301e0db375689dbc5bee6134b91cc23188d",
      "tree": "31c97490efe77ff7b571402f51b776af2d601b97",
      "parents": [
        "b701df98b1706751142f29bee032321447886267"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Nov 05 05:17:44 2024 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Nov 06 16:47:06 2024 +0000"
      },
      "message": "osbase/build/mkimage: replace embedsrc abloader reference with argument\n\nrules_rust things that our abloader target itself is an exec target\nbecause it is included as embedsrc inside mkimage. To prevent this wrong\ndetection we provide it as runfile like the kernel and rootfs. This is\na preparation for updating rust to the current stable version, as it\nrequires specific overrides to work correctly with our efi toolchain.\n\nChange-Id: I78de6a15570a81d9f673702ec4e50954d604117d\nReviewed-on: https://review.monogon.dev/c/monogon/+/3598\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "2db687330d6c907bf31006730bdd161cd34cddaa",
      "tree": "996bd64c955d1d383cd2bddb296d41437186a82f",
      "parents": [
        "492434add0746eef043e5e5acc106035ccec4358"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Oct 30 18:25:33 2024 +0100"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Oct 31 14:48:23 2024 +0000"
      },
      "message": "osbase/build/genosrelease: Add trailing newline to os-release\n\nText files should end with a newline.\n\nChange-Id: I14f06359959a41d3a49ecfb3923cb5e509020310\nReviewed-on: https://review.monogon.dev/c/monogon/+/3592\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "492434add0746eef043e5e5acc106035ccec4358",
      "tree": "8a6cb3b702b55e69f7e78f57a6ece0196bdf6567",
      "parents": [
        "1f51cf42fcd4d7bb7f4b103c797c438bfa7b0098"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Oct 22 14:29:55 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Oct 31 14:09:37 2024 +0000"
      },
      "message": "treewide: remove qemu build\n\nWe aren\u0027t bundling it right now and it is fairly out of date. Let\u0027s kick\nit out until we need it, then reengineer the build.\n\nChange-Id: I5362616922d4b9d3e971868636f3792e33880f7a\nReviewed-on: https://review.monogon.dev/c/monogon/+/3568\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "1f51cf42fcd4d7bb7f4b103c797c438bfa7b0098",
      "tree": "8baeed7e76e82440e9217ea7055d04af0ba14435",
      "parents": [
        "39f4f5c360e7a286bff4adaeabc52393dc28dc22"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Oct 01 17:04:28 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Oct 31 14:09:31 2024 +0000"
      },
      "message": "treewide: update rules_rust to v0.53.0\n\nThis updated our patches for rules_rust, removes a transition as it can\nbe replaced with the \"platform\" field in the rust_binary rule. This then\nallows us to correctly reference it in all targets that depend on it.\nAdditionally the -target parameter is replaced inside the llvm-efi\ntoolchain with --target\u003d.\n\nChange-Id: Ie98753e505736c9ef28ff92fa1c5aa5b3612aec3\nReviewed-on: https://review.monogon.dev/c/monogon/+/3473\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "5f1a7de2dfb5db1884fcb677a0bd38daf6dd3c97",
      "tree": "fd52bf35b4b2e6b5c51f56d62424c9d0820ef537",
      "parents": [
        "e337e938ae8e08dffa3a01045571188413ce70ff"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Sep 19 02:00:14 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Sep 19 12:06:50 2024 +0000"
      },
      "message": "treewide: fix %v in cases where we should use %w\n\nWe should always use %w when using fmt.Errorf as you can use error.Is to\ncompare the underlying error. When printing an error the use of %w is\nwrong and should be replaced with %v.\n\nChange-Id: I741111bd91dcee4099144d2ecaffa879fdbb34a2\nReviewed-on: https://review.monogon.dev/c/monogon/+/2993\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "3c5d0635f855f16780792a6be311f71b4d59f20b",
      "tree": "4a48292bf17a874f2d627901ee4f7e9145c5b040",
      "parents": [
        "a036c4e792e4b497c512991291b0cc18bc12b5e3"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Thu Sep 12 10:49:12 2024 +0000"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Mon Sep 16 14:03:22 2024 +0000"
      },
      "message": "osbase/logtree.LeveledLogger -\u003e go/logging.Leveled\n\nThis factors out the common leveled logger interface out of the logtree.\nWe want to use the same interface outside of logtree/supervisor usage\nwithin the resolver code, which will be exposed to clients.\n\nChange-Id: I299e76d91e8cefddf8f36f1e58432418c4694df2\nReviewed-on: https://review.monogon.dev/c/monogon/+/3411\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "509c70950fb77ded605f98f38c99a1dfc1f1aef4",
      "tree": "357f06f18e11d69294c774fcaaa7f064f23d1fac",
      "parents": [
        "1640c289768c3007154b4240e21457778dfcd105"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Sep 09 17:49:42 2024 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Sep 11 13:40:22 2024 +0000"
      },
      "message": "osbase/efivarfs: implement OsIndications\n\nThis allows easy interfacing with EFI\u0027s OsIndications mechanism.\n\nhttps: //uefi.org/specs/UEFI/2.10/08_Services_Runtime_Services.html#exchanging-information-between-the-os-and-firmware\nChange-Id: I6187a9a002ac06a82138ea10676641e3eb00c7a5\nReviewed-on: https://review.monogon.dev/c/monogon/+/3388\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "c39b1dc86b0af53d0aee5ca0f1a32ab79408167d",
      "tree": "dfa95096d6c305f4a3f380ab32dffa5e62f56397",
      "parents": [
        "5c82e0dc025c8df3328af3cffd64b830b3bdb2b4"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Aug 26 17:21:14 2024 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Sep 10 14:50:21 2024 +0000"
      },
      "message": "osbase/gpt: sync device after writing each GPT\n\nThis makes it safer to update the GPT. Without the first sync call, it \ncould for example happen that both GPTs are partially written to disk \nwhen the system loses power, resulting in both GPTs being corrupted. The \nsecond sync call ensures that the GPT update is committed to disk and \nwill not be rolled back, and also that both GPTs are valid after the \ncall to Write returns.\n\nChange-Id: I50b3cabee4ee8a3162766812e945e129358dd875\nReviewed-on: https://review.monogon.dev/c/monogon/+/3360\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "5c82e0dc025c8df3328af3cffd64b830b3bdb2b4",
      "tree": "40ec1463d4bb7701806499010567c47c4a11bbc0",
      "parents": [
        "02d721702cd7bf12c2dbbc97221c3d70cc1dcc48"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Aug 26 17:06:13 2024 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Sep 10 14:50:21 2024 +0000"
      },
      "message": "osbase/blockdev: add ResizePartition\n\nThis will be used for growing the Monogon OS data partition.\n\nChange-Id: I89fbf73f6452bd40991a182c185fc9c71e2f116b\nReviewed-on: https://review.monogon.dev/c/monogon/+/3359\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "02d721702cd7bf12c2dbbc97221c3d70cc1dcc48",
      "tree": "392873d87604644e8778ef30a9e89295c3f088b0",
      "parents": [
        "e479eee0ed95d9ffd4ee90d355618414e7a5d8cb"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Sep 02 17:47:27 2024 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Sep 10 14:50:21 2024 +0000"
      },
      "message": "osbase/gpt: align partition end\n\nWhen adding a partition with size\u003d-1, also align the end of the \npartition. Otherwise, writes at the end of the partition could write to \nthe hardware blocks containing the alternate GPT, which increasees the \nrisk of corruption.\n\nChange-Id: Ib29d0a18c7d91526d1b53a7992974d08255a2e3e\nReviewed-on: https://review.monogon.dev/c/monogon/+/3365\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "e479eee0ed95d9ffd4ee90d355618414e7a5d8cb",
      "tree": "03eafac6fd67f56b15f626a307bd64af23e127e3",
      "parents": [
        "a6da17176a102f5755fd7289448ca5a9486d8a20"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Aug 21 16:01:39 2024 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Sep 10 14:50:21 2024 +0000"
      },
      "message": "osbase/gpt: fix bugs in AddPartition and add tests\n\nAddPartition was very buggy: Many of the new tests fail on the old \nimplementation. For example, in empty-fill, it fails to create a \npartition because it calculates the maximum free space without \nconsidering alignment. In haveone-basic, it creates overlapping \npartitions.\n\nChange-Id: I4ab9ea833a72f694b5f5116ba084b923190c0bd2\nReviewed-on: https://review.monogon.dev/c/monogon/+/3347\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "a6da17176a102f5755fd7289448ca5a9486d8a20",
      "tree": "1142b5acecc39da71fdc107b34e17933bd1935e1",
      "parents": [
        "6120f38e1a10a1389f9413209ea6b6f23be56258"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Aug 21 15:12:11 2024 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Sep 10 14:50:21 2024 +0000"
      },
      "message": "osbase/blockdev: add tests, fix minor issues\n\nAdd a lot of bounds checks which should make BlockDev safer to use. Fix\na bug in the ReadWriteSeeker.Seek function with io.SeekEnd; the offset\nshould be added to, not subtracted from the size. Add the Sync()\nfunction to the BlockDev interface.\n\nChange-Id: I247095b3dbc6410064844b4ac7c6208d88a7abcd\nReviewed-on: https://review.monogon.dev/c/monogon/+/3338\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "18e9a3f6a499f45e7a00b5d8613165124bb984f8",
      "tree": "953566213ba47db3f0cd219f519de4e38f3ba1d4",
      "parents": [
        "6b1b79a1ea5b255469e7de2bde3f7153cfbf1fd0"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Apr 08 21:51:03 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Sep 04 16:10:27 2024 +0000"
      },
      "message": "osbase/bringup: add bringup\n\nIntroduce a library which handles the bringup of a running environment\nfor supervisor runnables.\n\nChange-Id: I03c049d1bac7afdc71dfa24247923070982f07cd\nReviewed-on: https://review.monogon.dev/c/monogon/+/2930\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "688ee2b59301e5a0494890003a85583f8da07ec5",
      "tree": "1bc71e6175accf4a899d7ae68baec238d8148654",
      "parents": [
        "344237ac232152f849d006e9ad296a9a4ee04aa6"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Aug 21 17:38:46 2024 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Aug 22 13:02:26 2024 +0000"
      },
      "message": "third_party/xfsprogs: update to 6.9.0\n\nThe previous version was three years old and we want a version newer\nthan 5.15 to enable bigtime by default for new filesystems. This gets us\nto the current version of xfsprogs again.\n\nThere is an additional dependency on urcu which was added since 5.15\nwhich is added in a parent CL of this, it provides core functionality\nand cannot be feasibly patched out.\n\nCloses: https://github.com/monogon-dev/monogon/issues/1\nChange-Id: I16b93c3799574030548d6460c298e2980b78a5a8\nReviewed-on: https://review.monogon.dev/c/monogon/+/3346\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "10ef8f93d9c3acc3307819b679578f50c6798559",
      "tree": "aa957dd6625fac3c0afc62f17b9d8332fd3473d0",
      "parents": [
        "1b1d95d14cb8727cd8c6a1b3efe88cef98b7bd0a"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Aug 13 15:35:10 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Aug 22 12:05:26 2024 +0000"
      },
      "message": "treewide: move //net to //osbase/net\n\nThe net package contains the utility to dump a network configuration in\nproto format. It should be in osbase.\n\nChange-Id: I4d25d9c7d600f4a04b9b79bd1ba98286bf9daec3\nReviewed-on: https://review.monogon.dev/c/monogon/+/3313\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "a48bd3c3220063ed6beecf0b36ef6959f79f3790",
      "tree": "980731df4a124623e3785b05be5d61d00e063462",
      "parents": [
        "75ea9f40ade3ff29fbe3dfca6d93b62e6959ef2b"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jul 29 17:22:18 2024 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Aug 21 11:10:01 2024 +0000"
      },
      "message": "osbase/net/dns/kubernetes: add Kubernetes DNS handler\n\nThis adds a DNS server handler for Kubernetes DNS service discovery. It\nis partially based on the CoreDNS Kubernetes plugin. The query handler\nhowever is written completely from scratch. The handler in the CoreDNS\nplugin is very weird; it first handles each query type separately, and\ngenerates msg.Service objects which then need to be converted to dns\nrecords. The new implementation is much simpler, and also more correct:\nIt handles ANY queries, and follows the rules for NXDOMAIN (If a name is\nNXDOMAIN for one qtype, it is NXDOMAIN for all qtypes, and subdomains of\nthe name are also NXDOMAIN.)\n\nChange-Id: Id1d498ca5384a3b047587ed73e95e4871d82d499\nReviewed-on: https://review.monogon.dev/c/monogon/+/3259\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "75ea9f40ade3ff29fbe3dfca6d93b62e6959ef2b",
      "tree": "5bf6680a772227388eca051c8517566e3749c7a3",
      "parents": [
        "4a18022bda00b3d3b844471e7f5cf16b24455b68"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jul 29 17:01:41 2024 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Aug 21 11:10:01 2024 +0000"
      },
      "message": "osbase/net/dns/forward: add DNS forward handler\n\nThis adds a DNS server handler for forwarding queries to upstream DNS\nresolvers, with a built-in cache. The implementation is partially based\non CoreDNS. The proxy, cache and up packages are only lightly modified.\nThe forward package itself however is mostly new code. Unlike CoreDNS,\nit supports changing upstreams at runtime, and has integrated caching\nand answer order randomization.\n\nSome improvements over CoreDNS:\n- Concurrent identical queries only result in one upstream query.\n- In case of errors, Extended DNS Errors are added to replies.\n- Very large replies are not stored in the cache to avoid using too much\nmemory.\n\nChange-Id: I42294ae4997d621a6e55c98e46a04874eab75c99\nReviewed-on: https://review.monogon.dev/c/monogon/+/3258\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "4a18022bda00b3d3b844471e7f5cf16b24455b68",
      "tree": "e8288181955fa75a38708988f7d8141fdfdc7183",
      "parents": [
        "2542ef844695ed5b4d636b4aedecfd7ec6809166"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jul 29 16:32:54 2024 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Aug 21 11:10:01 2024 +0000"
      },
      "message": "osbase/net/dns: add new DNS server\n\nThis adds a new DNS server service, which will replace CoreDNS. The\nservice has built-in handlers for certain names, but all other names\nwill be handled by runtime configurable handlers.\n\nChange-Id: I4184d11422496e899794ef658ca1450e7bb01471\nReviewed-on: https://review.monogon.dev/c/monogon/+/3126\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "c2290c2e21ee5615d341d56799516829c2fea540",
      "tree": "fdbf849c7e459508b844c7aff2a33e79f4c1b12e",
      "parents": [
        "be0b4c9158371b29c21badc5702ee50ed8179935"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Aug 15 19:56:00 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Aug 20 13:03:42 2024 +0000"
      },
      "message": "treewide: move build helper to more fitting places\n\nChange-Id: I3d0cfe9283222d403ae369ec9db09201ad511e15\nReviewed-on: https://review.monogon.dev/c/monogon/+/3327\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "6920c47bdd3cd6a0f78b4815bc6378c98c9d159e",
      "tree": "a0cae7630c3e3e3250660e25c4514b12c02a3092",
      "parents": [
        "cc27faac73b1bff4b0d31ffacb0d938022db75ea"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Sat Aug 10 19:40:35 2024 +0200"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Mon Aug 19 13:11:09 2024 +0000"
      },
      "message": "Document top-level directories\n\nChange-Id: I52889e4823cbeb841c7dc9da12b5fe4c6a79d663\nReviewed-on: https://review.monogon.dev/c/monogon/+/3310\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "82e6af71ad2b7927de8d754799271ee9f39506f9",
      "tree": "4da4ec95a6e4c5f58957c555d8646e46dbb25c6d",
      "parents": [
        "bceb1604c4d6ce1396c63083d2fd8aae98346cf3"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 23 00:05:42 2024 +0000"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Aug 13 12:43:45 2024 +0000"
      },
      "message": "treewide: replace hardcoded runfiles paths\n\nWe hardcoded some of the runfiles paths to find specific files. This replaces the hardcoded paths by a call to rlocationpath. This prevents running a target without the correct dependencies at build time instead of at runtime\n\nChange-Id: I7ce56935ac80be6b28b824ccb0781ab401bd6521\nReviewed-on: https://review.monogon.dev/c/monogon/+/3301\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "f9a8dcda408842251433b7d3d734d4f0710d1ba2",
      "tree": "0adbc154cfd1d3907473bf18a7f444854ceba5ad",
      "parents": [
        "cf864da947cc93fbed77eec4d23ec5b162003fbd"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Jul 31 14:46:06 2024 +0000"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Aug 06 14:35:51 2024 +0000"
      },
      "message": "osbase/supervisor: implement Prometheus metrics\n\nThis is a simple implementation of supervisor.Metrics which will be used\nin Metropolis.\n\nChange-Id: I8d47b3aa631dec5b07295d5498b3b0d1ad36c0f7\nReviewed-on: https://review.monogon.dev/c/monogon/+/3291\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "cf864da947cc93fbed77eec4d23ec5b162003fbd",
      "tree": "f1c72c8891fc8cef4c5cbc2826e8ffa63235bc70",
      "parents": [
        "eca8ee3a89affc200d6056b04a14c4f20fddc91f"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Jul 31 11:23:34 2024 +0000"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Aug 06 14:00:50 2024 +0000"
      },
      "message": "osbase/supervisor: implement Metrics API\n\nThis is a base building block for exporting per-DN/runnable status from\nthe supervisor into an external system. A sample implementation is\nprovided which can be used in simple debug facilities to inspect the\ncurrent supervision tree.\n\nA follow-up change will use the same API to implement Prometheus\nmetrics.\n\nChange-Id: I0d586b03a397a3ccf8dac2d8043b9dd2f319be4e\nReviewed-on: https://review.monogon.dev/c/monogon/+/3290\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "eca8ee3a89affc200d6056b04a14c4f20fddc91f",
      "tree": "8805a806294112753cb917f65754419bad38f41c",
      "parents": [
        "5cdb51bf4c7d7b2451037ba1dd05ce019a379683"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jul 30 14:32:19 2024 +0000"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Aug 06 14:00:50 2024 +0000"
      },
      "message": "osbase/supervisor: export NodeState\n\nThis will be exported as part of an upcoming Metrics interface, where\nrunnable statuses are exposed to the user.\n\nChange-Id: Id47071545c3297b2ea36ba28017d6d4a7fbd9005\nReviewed-on: https://review.monogon.dev/c/monogon/+/3289\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "d7e34c4e6c7b8bb603262d7e23262b12c452817e",
      "tree": "0c0f85f31fbb5935e5b36ddffc2b28076b8d1aad",
      "parents": [
        "886abba9cf0a0492c3eef3e5978f27af898dde6c"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 09 17:32:13 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 25 12:14:55 2024 +0000"
      },
      "message": "osbase/fat32: implement SizeFS\n\nThis function allows the user to find out if a filesystem is fitting on\nthe given blockdevice. This will be used to allow osimage to validate if\n an install will fail because of missing disk space\n\nChange-Id: I05638c91ba7ec9ba835b7b0e3811ee7404df4087\nReviewed-on: https://review.monogon.dev/c/monogon/+/3211\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "e5e90a8911f93d2f7b6bdd7b57cd06d430b353a5",
      "tree": "04dc5ad0bf34805b8ad14af7f31d8510f4b47370",
      "parents": [
        "d7f5993d91979bd5c68c6d46332ff781d014c21e"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 17 23:46:22 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 25 12:10:57 2024 +0000"
      },
      "message": "treewide: migrate external rules to bzlmod\n\nThis is a huge one as it was very annoying to migrate them separately. This migrates rules_go, gazelle, rust_rust, protobuf to bzlmod\n\nChange-Id: If39591d43ed4c2afa2979ee5915e9d1cfa1574a9\nReviewed-on: https://review.monogon.dev/c/monogon/+/3234\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "3325b4b940370ad4282fdaa6027a5672ff8fdc2a",
      "tree": "7308d80e86a0d0ea34a5d2d5c8dac8cb2dd8efeb",
      "parents": [
        "41b244857ee793cbf74552ec39f2ff614a686a56"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 15 19:19:49 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 22 21:25:58 2024 +0000"
      },
      "message": "workspace: bump bazel_gazelle to v0.37.0\n\nChange-Id: I45a7769d80781075fdfb1c438240a75629dd572a\nReviewed-on: https://review.monogon.dev/c/monogon/+/3220\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "9f21f5396aa18bc9f2f83c867ff883f49bbf02ae",
      "tree": "c232f42c84bd6b7ace576261a188134cb0c69771",
      "parents": [
        "f430fbfe35b70283090b6174cf5a920163c0148c"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue May 07 15:14:20 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 04 12:19:37 2024 +0000"
      },
      "message": "treewide: introduce osbase package and move things around\n\nAll except localregistry moved from metropolis/pkg to osbase,\nlocalregistry moved to metropolis/test as its only used there anyway.\n\nChange-Id: If1a4bf377364bef0ac23169e1b90379c71b06d72\nReviewed-on: https://review.monogon.dev/c/monogon/+/3079\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    }
  ]
}
