)]}'
{
  "log": [
    {
      "commit": "2137bd694b0a3612c9f6ef2124bd425aa47988ea",
      "tree": "4b7b320d457b2099f8fbbefc93ab3c95886fb472",
      "parents": [
        "0f8ce4c4d6554a48733aee83840ada9d10c89b1d"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Aug 25 14:03:12 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Sep 15 13:19:17 2025 +0000"
      },
      "message": "m/test/launch: reboot nodes instead of killing qemu\n\nTo exercise the upcoming graceful shutdown, we replace the vm killing\nwith an actual shutdown.\n\nChange-Id: Ia04ac41ecb5e94dd228631813a77ec9127e9d8e1\nReviewed-on: https://review.monogon.dev/c/monogon/+/4522\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "0f8ce4c4d6554a48733aee83840ada9d10c89b1d",
      "tree": "0ae89519661e88f38e06a195e43a1c881f0d4bdb",
      "parents": [
        "07a39e2b168871f7cc4d50e26a3a474c1fcd99b6"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Sep 04 13:27:50 2025 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Sep 04 15:37:29 2025 +0000"
      },
      "message": "m/node/allocs: split new package off m/node\n\nThe metropolis/node package contains various unrelated things. One of\nthese things are node-wide allocations of identifiers.\nThese are moved here to the new metropolis/node/allocs package.\nAdditionally, the constants are renamed to move the type of identifier\nin front.\n\nChange-Id: Ibc841ca64d4450a7054463e6d2d44753a118e07a\nReviewed-on: https://review.monogon.dev/c/monogon/+/4566\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "07a39e2b168871f7cc4d50e26a3a474c1fcd99b6",
      "tree": "a2f19016a4a04a08c76d274332996bb1cfcaab4f",
      "parents": [
        "341cd42bf9f5b75414e551a6975698053dd19182"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Sep 04 11:16:59 2025 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Sep 04 15:37:29 2025 +0000"
      },
      "message": "osbase/net/dhcp4c: move package out of metropolis\n\nMove the dhcp4c package from metropolis/node/core/network/dhcp4c to\nosbase/net/dhcp4c. The package is not specific to metropolis, and is\nalso used by nanoswitch and cloud/agent.\n\nChange-Id: I508261c93c623d5b7a33a2089da11625b7a3abd0\nReviewed-on: https://review.monogon.dev/c/monogon/+/4565\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "341cd42bf9f5b75414e551a6975698053dd19182",
      "tree": "594f483041961dd82089bf9ed246e64f0547590f",
      "parents": [
        "7917902e5eea5409a9fe4450b437519670edac51"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Sep 04 10:33:21 2025 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Sep 04 15:37:29 2025 +0000"
      },
      "message": "osbase: move test packages under osbase/test\n\nThe cmd, freeport and socksproxy packages are only used in tests, and\nare also intended to be only used in tests. This change moves these\npackages under osbase/test.\n\nChange-Id: I8fe679945990c295bdf822abfce56c25233c4588\nReviewed-on: https://review.monogon.dev/c/monogon/+/4564\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "7917902e5eea5409a9fe4450b437519670edac51",
      "tree": "4c44923d805eb54d2c196816608d6dba0dcdbb94",
      "parents": [
        "541a303bdcadd5180e9e4256fbddba32acf4d5c0"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Sep 03 18:22:01 2025 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Sep 04 15:37:16 2025 +0000"
      },
      "message": "metropolis/node: remove unused exports_files\n\nThis file is not used in other packages, so it doesn\u0027t need to be\nexported.\n\nChange-Id: I605447501bfb0667020caa72083058eff39a5ec6\nReviewed-on: https://review.monogon.dev/c/monogon/+/4563\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "541a303bdcadd5180e9e4256fbddba32acf4d5c0",
      "tree": "b0c7b82126bd31654a60038edc5d37ee48a98cc2",
      "parents": [
        "b46dcebbc90e3a923e5f3fc2f897c13926e9769b"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Aug 07 17:45:39 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Aug 28 03:05:53 2025 +0000"
      },
      "message": "m/n/core: simplify network overlay\n\nDuring the initial refactor into the role server the node external IP\n(which was then used as the underlay target) got moved into the\npublished prefixes. This never did anything as the summary route into\nclusternet does not contain it. Thus drop this and simplify the code.\n\nAlso remove the extra loopback IP introduced in 011dce6623 as it never\nworked because control plane nodes do not even have a prefix to pick\nsuch an IP from.\n\nWhile at it, rename some variables to make them more accurate with how\nthis is eventually going to look. \n\nChange-Id: I6a6a6964bd45d088c37f746d1c9514246d624093\nReviewed-on: https://review.monogon.dev/c/monogon/+/4524\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "b46dcebbc90e3a923e5f3fc2f897c13926e9769b",
      "tree": "ae84e70209ac8cf4cfe58d6ce114c5d443306e45",
      "parents": [
        "0c7da3efe3d4e0ce4b38af602fca6a8cdbb2951b"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Aug 19 15:11:24 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Aug 26 09:15:06 2025 +0000"
      },
      "message": "treewide: bump dependencies\n\nChange-Id: I5e172921fb05541c4cdc4a85f18d4729e2dc7d57\nReviewed-on: https://review.monogon.dev/c/monogon/+/4512\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "0c7da3efe3d4e0ce4b38af602fca6a8cdbb2951b",
      "tree": "a869652bde1cb6bf2c0d078217ed100dd310c73e",
      "parents": [
        "2bd99ddf59a6080eec794f1e41a12c0bbc6a6608"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 24 00:21:35 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Aug 26 09:15:00 2025 +0000"
      },
      "message": "m/node/core/tconsole: implement log scrollback\n\nChange-Id: I7ad6b42e16308366d8d34629c6d8d15ca5f1faf0\nReviewed-on: https://review.monogon.dev/c/monogon/+/4462\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "2bd99ddf59a6080eec794f1e41a12c0bbc6a6608",
      "tree": "1d19c72265c198eaed86163cebaf5b1209905ff7",
      "parents": [
        "cb76c842664d261934fbb03c3fd8c57699183a60"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Aug 13 18:02:04 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Aug 15 12:41:58 2025 +0000"
      },
      "message": "third_party/com_k8s_io_kubernetes: replace import patch with gazelle:resolve\n\nChange-Id: I677a5c8d2bd87589ea2287eeda08b437c664abb1\nReviewed-on: https://review.monogon.dev/c/monogon/+/4506\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "cb76c842664d261934fbb03c3fd8c57699183a60",
      "tree": "6c7d8dbfed842a5e56a11226a1c3999256f7450d",
      "parents": [
        "c607bf67ae20b17e8f254a7e3817e2d1a93114be"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Aug 11 12:54:28 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Aug 14 16:38:23 2025 +0000"
      },
      "message": "m/node: move clusternet under network\n\nMove the clusternet network side under the core/network umbrella and\nrename it to overlay. Also split out types.go into the ipam package\nto get the overlay package out of a lot of dependents which only import\nit for the Prefixes type which should be part of the ipam package.\n\nThis is a clean move with no functional changes intended yet, these\nwill be stacked on top.\n\nChange-Id: I6a6a6964af9d608f9ec3bf75b386c010cfff1df4\nReviewed-on: https://review.monogon.dev/c/monogon/+/4500\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "c607bf67ae20b17e8f254a7e3817e2d1a93114be",
      "tree": "23cbb4bb40570be41cca51699c288f193b2b7029",
      "parents": [
        "4bde9313d653c7a3714d824f9904aa4081796560"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jul 22 20:25:26 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Aug 11 21:44:47 2025 +0000"
      },
      "message": "m/node: implement container networking ourselves\n\nThis change gets rid of the CNI mechanism for configuring container\nnetworking in favour of a split approach where the network service is\nextended by a gRPC workload network service which handles all of the\nwork as well as a library which exposes just enough of go-cni\u0027s\ninterface to be a drop-in replacement in containerd, which then talks\nto the workload network service.\n\nThis is a rather unconventional approach do doing things as CNI itself\nis a pluggable interface. The reason for doing it this way is that the\nbinary executing interface of CNI has a huge spec which is also horrible\nto convert into decent Go types and being a binary-calling interface has\ninherent lifecycle, complexity and image size disadvantages. The part of\nCNI that is actually used by containerd is tiny and its arguments are\nwell-specified and have decent Go types. It also avoids the whole CNI\ncaching mechanic which adds further unnecessary complexity.\n\nThe reason for the split service model instead of implementing\neverything in cniproxy is to allow for more complex logic and Monogon\ncontrol plane interfacing from the workload network service. Also this\nwill allow offloading the actual service to things like DPUs.\n\nRight now there is some uglyness left to make this self-contained. Two\nobvious examples are the piping through of the pod network event value\nand the exclusion of the first (non-network) IP from the IP allocator.\nThese will eventually go away but are necessary to get this to work as a\nstandalone change.\n\nChange-Id: I46c604b7dfd58da9e6ddd0a29241680d25a2a745\nReviewed-on: https://review.monogon.dev/c/monogon/+/4496\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "4bde9313d653c7a3714d824f9904aa4081796560",
      "tree": "4aaf98feae5297653bc791fec367619beff2ab38",
      "parents": [
        "bafa7bd7f5f1db44ed169d447ce56e6a196ed01d"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Aug 06 05:04:11 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Aug 11 09:34:37 2025 +0000"
      },
      "message": "m/node: extract network.Status to node.NetStatus\n\nThis is done to avoid nasty dependency loops involving clusternet and\nthe network service. The clusternet service can currently not be\nincluded by anything also talking to the network service which will be\nneeded by future network work.\n\nTo make this work we pull out the critical network.Status into\nnode.NetStatus which itself imports nothing and is thus safe to import\neverywhere.\n\nChange-Id: I8935de02926b6e06b5211f90c0c7f9abd8699c6d\nReviewed-on: https://review.monogon.dev/c/monogon/+/4495\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "bafa7bd7f5f1db44ed169d447ce56e6a196ed01d",
      "tree": "0112c6d069d9a370fa47ebcab142da96b0b7f203",
      "parents": [
        "1f513e5ad4bd065e999a4c1d52526fb881328ee7"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Aug 04 13:59:23 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Aug 04 12:55:12 2025 +0000"
      },
      "message": "m/n/c/devmgr: increase buffer size\n\nThe default kernel buffer size for the kobject connection results in\nfrequent overruns while enumerating devices causing devmgr to restart\nand reenumerate. This causes log noise and slower boots, so fix this by\nadding an upstream patch to allow setting the buffer size and doing so.\n\nChange-Id: Iddf63f2b71ec600e8a0160cc5ede85af84a76aeb\nReviewed-on: https://review.monogon.dev/c/monogon/+/4494\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "1f513e5ad4bd065e999a4c1d52526fb881328ee7",
      "tree": "cff49b127699b40f71e17f728ebb7b061b37f579",
      "parents": [
        "778649edf3e2083b35300238635d315100e5f1b8"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 31 18:26:15 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Aug 01 00:55:00 2025 +0000"
      },
      "message": ".vscode: wire buildifier to bazel target\n\nChange-Id: I5785096f0f26d262f536e5ea49a0fea41d5b5c10\nReviewed-on: https://review.monogon.dev/c/monogon/+/4491\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "778649edf3e2083b35300238635d315100e5f1b8",
      "tree": "dfda447e1dc6670e62e878d1d8716d983fba797c",
      "parents": [
        "01491a7c7ae539a90756fa3a210cf08cbe450856"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 23 03:50:27 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Aug 01 00:54:56 2025 +0000"
      },
      "message": "third_party/nix: move overrides to toolchain-bundle derivation\n\nWe have multiple consumers of nixpkgs. The nix-shell for development\nand our toolchain-bundle. To reduce the amount of applied overlays\nin normal evaluation, we move all overrides/patches that are only\nrequired for the toolchain bundle to its definition. Additionally\nall small overrides get inlined as its actually more easy to read.\nI also refactored the way the toolchain-bundle is constructed to make\nit easier to extend.\n\nChange-Id: If7daafb6de43d26a0b95d0248cfb8c573cc5bbbe\nReviewed-on: https://review.monogon.dev/c/monogon/+/4457\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "01491a7c7ae539a90756fa3a210cf08cbe450856",
      "tree": "2709a786e75af66e06e7aa99bf9decc0e3656f8f",
      "parents": [
        "1f4590b58948d359805e1e519d3ea68ad5a57d47"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 23 21:49:11 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 31 18:12:39 2025 +0000"
      },
      "message": "osbase/logtree: add WithStartPosition option\n\nTo allow users to not always request all messages,\nwe introduce another option to the logtree.LogReader\nwhich allows for starting at a specific global log id.\nThis, for example, makes implementing scrollback easier.\n\nChange-Id: I1773288f670f476706d94baf3f052fe1e5da9eb0\nReviewed-on: https://review.monogon.dev/c/monogon/+/4452\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "1f4590b58948d359805e1e519d3ea68ad5a57d47",
      "tree": "ce6288aed25bf50a737bf23e85fc0c5ed343403f",
      "parents": [
        "67f45f875269796e95ff1c7d498f9522b85344c6"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 29 23:05:36 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 31 18:11:36 2025 +0000"
      },
      "message": "build/analysis: copy cockroachdb code to third_party\n\nWe are currently fetching the full cockroach repository just for a hand\nfull of nogo passes. As the version we use is licensed under Apache 2.0,\nwe can copy them to third_party, allowing us to modify them and keep them\nstable.\n\nChange-Id: Ia28b181296138eef922485b6517d1e0066766715\nReviewed-on: https://review.monogon.dev/c/monogon/+/4486\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "67f45f875269796e95ff1c7d498f9522b85344c6",
      "tree": "b7df6a3199824ea2eef5ee246a01afe416e970e3",
      "parents": [
        "0985782360ea8c9fdb1bedf52a6552acd3972a2b"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 29 21:45:00 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 31 18:11:33 2025 +0000"
      },
      "message": "build/analysis: replace nogo staticcheck adapter\n\nThe upstream repo is not very active and requires us to override the rules_go\ndependency name. By building our own adapter, we don\u0027t need it anymore.\n\nChange-Id: I6e539881a23a1934d0bf6ebc2d79d02469bd4c6a\nReviewed-on: https://review.monogon.dev/c/monogon/+/4481\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "0985782360ea8c9fdb1bedf52a6552acd3972a2b",
      "tree": "b031f7994a3aa826cc8adcb71cbedf277fc99c34",
      "parents": [
        "bc6c10e0ccdf740d08323b041a029ffc2b8cdd51"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 29 17:34:59 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 31 18:11:15 2025 +0000"
      },
      "message": "build/analysis: move our checks into its own exclusion\n\nChange-Id: Ifc9205d35c567973ceafe1557a4705531e68d9fd\nReviewed-on: https://review.monogon.dev/c/monogon/+/4484\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "bc6c10e0ccdf740d08323b041a029ffc2b8cdd51",
      "tree": "aec1952a8dbc9850c6b1b6f73aab5765c3c0d243",
      "parents": [
        "8f60896e38a3447f79b98876a82444ebb4a37eb5"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 29 17:33:45 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 31 18:11:15 2025 +0000"
      },
      "message": "build/analysis: rename checkcompilerdirectives to gocheckcompilerdirectives\n\nWe want to keep the package names identical to the run they contain.\n\nChange-Id: I1d9dddec2cc47f6986597cf80b2a6e0367d0797c\nReviewed-on: https://review.monogon.dev/c/monogon/+/4483\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "8f60896e38a3447f79b98876a82444ebb4a37eb5",
      "tree": "71f40ce6eb2bc621e286955dc08af080d034165f",
      "parents": [
        "31b15ab02038b60d714b2a9c9563309c8bdb6cb6"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 29 17:40:24 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 31 18:11:05 2025 +0000"
      },
      "message": "tools: don\u0027t run validations for gopackagesdriver\n\nAlso prevent builds of node images and stamping invalidations.\n\nChange-Id: I26ae9f2580b775eb80e68b42de0d524ed6627272\nReviewed-on: https://review.monogon.dev/c/monogon/+/4482\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "31b15ab02038b60d714b2a9c9563309c8bdb6cb6",
      "tree": "4aca62f631adb43e974d7d34f6bcfcecde168b12",
      "parents": [
        "1a7e1fe7c4059d79a4f5452d3ac9821cdaf22245"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 30 11:56:06 2025 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 30 14:52:26 2025 +0000"
      },
      "message": "osbase/oci/osimage: fix possible nil dereference\n\nBecause a double pointer was passed to json.Unmarshal, it could set\nconfig to nil when the json is \"null\", resulting in a nil pointer\ndereference.\n\nChange-Id: I93077e1cafd8c4e3d0a47d9a4f2321e2ea005d58\nReviewed-on: https://review.monogon.dev/c/monogon/+/4487\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "1a7e1fe7c4059d79a4f5452d3ac9821cdaf22245",
      "tree": "f1fc24285aa0eb0753a7221882b9e3724dc4a641",
      "parents": [
        "d4309bbea5cb711ec4288850e21da90b6b3e237e"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Fri Jul 25 16:50:12 2025 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 30 14:52:26 2025 +0000"
      },
      "message": "m/node/core/update: add support for OCI index\n\nThe updater now also accepts OCI indexes, and will select the image with\nthe matching architecture from the index.\n\nThis is tested by making on of the update steps a multiarch index.\nThe testos_multiarch_* targets are tagged \"manual\" such that test //...\ndoes not build it for all variants.\n\nChange-Id: I2682beb1adf61de0e86c53371c63c4fd9afecf08\nReviewed-on: https://review.monogon.dev/c/monogon/+/4478\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "d4309bbea5cb711ec4288850e21da90b6b3e237e",
      "tree": "dd09079d373807a15172675eb162a1396459f8ec",
      "parents": [
        "954c4b349725bb7fe8852dd9b85ddcfe3d0f3368"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Fri Jul 18 10:13:22 2025 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 30 14:52:26 2025 +0000"
      },
      "message": "metropolis/node: generate OCI index\n\nThis adds a multi-architecture OCI index target for metropolis. mkoci is\nextended to add the platform to the index.json. Product info is extended\nto add the PlatformOS field, which mkoci puts into the platform.\n\nThe OCI spec requires the os field of the platform to be set. We don\u0027t\nneed this field so we could simply put \"unknown\" there, but I think\n\"uefi\" is nicer. Registry UIs display the os and architecture fields.\n\nChange-Id: I24acf3c01201b50238abd30cfd86da2eda43c1d9\nReviewed-on: https://review.monogon.dev/c/monogon/+/4477\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "954c4b349725bb7fe8852dd9b85ddcfe3d0f3368",
      "tree": "015402ba225b5e58a72ec4b7c3f8cbbd038cbf71",
      "parents": [
        "2963b681d81e259fdea28db466c90e204be00e4b"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Fri Jul 18 09:46:25 2025 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 30 14:52:26 2025 +0000"
      },
      "message": "osbase/build/mkoci/index: add package\n\nThis adds the mkoci/index package, which contains a Bazel rule for\nbuilding a multi-platform OCI index for an image.\n\nrules_oci also has an image index rule, but it is not suitable for us.\nThat rule tries to read the platform from the container image config,\nmeaning it only works for container images. The rule here works for\narbitrary OCI artifact types. To make this work, the rule which\ngenerates the image must put the platform into the descriptor in\nindex.json.\n\nBecause the index is not for any specific platform, there is a new \"all\"\nplatform where the index is generated.\n\nChange-Id: I4ab1b87609d10b77c2f7fc42ee427f87d9f5ddc2\nReviewed-on: https://review.monogon.dev/c/monogon/+/4476\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "2963b681d81e259fdea28db466c90e204be00e4b",
      "tree": "d6715fb940f09942cbe8fdc58138a30b43b039c8",
      "parents": [
        "1354c78f69335cbd809b0237bab1aa93e69419a1"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 17 17:03:44 2025 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 30 14:52:26 2025 +0000"
      },
      "message": "osbase/oci: implement support for OCI index\n\nPreviously, only OCI images were supported, now we can also handle\nindexes. The new Ref type is either an Image or Index.\n\nChange-Id: I1b282ed6078d53e9a69e7613f601fdbbe64e192b\nReviewed-on: https://review.monogon.dev/c/monogon/+/4475\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "1354c78f69335cbd809b0237bab1aa93e69419a1",
      "tree": "5b85624b5edddc867e87ed9b79fea40ad8048d5c",
      "parents": [
        "e4264a30deb7c1a9da66be6d6c1083fd8217f171"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 23 19:01:08 2025 +0000"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 23 19:10:33 2025 +0000"
      },
      "message": "Revert \"osbase/logtree: add WithBacklogOrder\"\n\nThis reverts commit 3553b240af181f5eba87ffd2af9323fa054e1967.\n\nReason for revert: We don\u0027t have any consumer for this API as WithStartPosition will be sufficient.\n\nChange-Id: I6553a99d16b6f11160df31074f44431b5a6592ed\nReviewed-on: https://review.monogon.dev/c/monogon/+/4464\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "e4264a30deb7c1a9da66be6d6c1083fd8217f171",
      "tree": "e7548049db9b49c4d93e40da2f2bf86fa4688470",
      "parents": [
        "a24a7a6223f56bf401b5d1382e03e11537e5bdcc"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 23 07:16:22 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 23 17:07:35 2025 +0000"
      },
      "message": "treewide: replace references to @@ with @monogon\n\nBy giving our module a name, we can use inject_repo to inject ourselves into rules_go dependencies. This then allows usage of an absolute name reference inside the patches.\n\nChange-Id: I3a1ef8ae721c4e96e0ee23c8c3438720edb29ffe\nReviewed-on: https://review.monogon.dev/c/monogon/+/4461\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "a24a7a6223f56bf401b5d1382e03e11537e5bdcc",
      "tree": "0ada464675617cc998ad24a0f10e40d28ee94845",
      "parents": [
        "4ebbc5f0b21a9a3af79b239323e502d780d8cd9c"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 23 07:09:22 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 23 17:07:31 2025 +0000"
      },
      "message": "treewide: replace template_file rule with expand_template\n\nLess custom rules, more good?\n\nChange-Id: Ie6d3c0c8912ed85058cd8aadfe2e9c7689e01f79\nReviewed-on: https://review.monogon.dev/c/monogon/+/4460\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "4ebbc5f0b21a9a3af79b239323e502d780d8cd9c",
      "tree": "b11452a47897d8957b8d719f6ccf715190dbb6d7",
      "parents": [
        "346e2455c7eb2c2229dc3988079b96a1fc08f40f"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 16 16:04:35 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 23 13:32:34 2025 +0000"
      },
      "message": "metropolis/node: remove console\u003dtty0 from cmdline\n\nIn a previous change I already removed the forced existence of\ntty0 as forwarded console. This is needed as we do want to\nexclusively use tty0 for tconsole and having a log forwarder\nrunning in parallel breaks the rendering.\n\nChange-Id: Ie74d4728f2f9dd45abb65d961845f62b319e2b6d\nReviewed-on: https://review.monogon.dev/c/monogon/+/4438\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "346e2455c7eb2c2229dc3988079b96a1fc08f40f",
      "tree": "67b5eb97e9a6e792a432124d6c627a6bbfe2fc28",
      "parents": [
        "1b5164db6da76b58a329c44f700873ba4793ecf6"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 16 16:02:07 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 23 13:32:34 2025 +0000"
      },
      "message": "osbase/bringup: remove tty0 from default consoles\n\nThis default was copied from the cloud/agent and intereferes with\ntconsole in metropolis. It\u0027s not possible to stop the\nforwarder from the root runnable and since the code imports\nall kernel cmdline console arguments, we can safely remove this default listener.\n\nChange-Id: I5d38d2fde8499ae2ee9057cc21b6b2a1244a0e65\nReviewed-on: https://review.monogon.dev/c/monogon/+/4437\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "1b5164db6da76b58a329c44f700873ba4793ecf6",
      "tree": "279a5d5a7df7688f334d1ef2020d83e3ae042bac",
      "parents": [
        "717b6387c063ac985d2081e70f0c71db98001385"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 23 05:57:23 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 23 13:32:10 2025 +0000"
      },
      "message": "metropolis/node: remove old bundle.zip\n\nWithout it we can also ditch rules_pkg\n\nChange-Id: Ida41a22e5102ab8f3f13bf546590511339bb101b\nReviewed-on: https://review.monogon.dev/c/monogon/+/4459\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "717b6387c063ac985d2081e70f0c71db98001385",
      "tree": "405c82ce85fab16fe903060ca82fe24071b2849a",
      "parents": [
        "4e3e971b53637407d67df93c8944dec288746b13"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jul 22 20:41:45 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Jul 23 10:26:40 2025 +0000"
      },
      "message": "README: adjust env requirements for sandbox-less builds\n\nSince we can now build without sandboxroot, we no longer need user\nnamespaces to build. Also add git and python3 to the requirements list,\nbut these are not new, they were already required before but just not\ndocumented.\n\nChange-Id: I516ecfa601587295a61f7a6c5464ff8b3018a99e\nReviewed-on: https://review.monogon.dev/c/monogon/+/4456\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "4e3e971b53637407d67df93c8944dec288746b13",
      "tree": "8580bf61f1f98c37d342fc304d310710ec34bfcf",
      "parents": [
        "ba82bc6039f694ef5a9c891d50329822985233c9"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jul 22 20:22:05 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Jul 23 10:26:40 2025 +0000"
      },
      "message": "third_party/linux: unbreak i2c-dw-platform for AMD\n\ni2c-designware-platform on x86_64 AMD has a silent dependency on\nCONFIG_X86_AMD_PLATFORM_DEVICE. If not enabled the kernel executes bad\ncode when it should interact with the clock tree, so enable it.\n\nChange-Id: I6eba0da9bc226ef7a6e87e4c0dbda965f2c57444\nReviewed-on: https://review.monogon.dev/c/monogon/+/4455\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "ba82bc6039f694ef5a9c891d50329822985233c9",
      "tree": "5e3352a7eac99feb58ab179c0fbabb3f333158b9",
      "parents": [
        "3553b240af181f5eba87ffd2af9323fa054e1967"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jul 22 20:17:05 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Jul 23 10:26:40 2025 +0000"
      },
      "message": "osbase/kmod: fix module deps naming\n\nLinux for some reason converts \u0027-\u0027 to \u0027_\u0027 in module names, but not for\ndependencies. There are also instances of comma-separated dependency\nlists, normalize these as well.\n\nFail building of metadata in case dependencies do not resolve.\nPreviously we just wrote zero as dependency index which is obviously\ninvalid. With the current config and these fixes everything resolves and\nthis ensures that with any future kconfig changes we actually load\neverything correctly.\n\nChange-Id: Ifedb5c7a251ba6ddbe4cd66408b0259a72d6521d\nReviewed-on: https://review.monogon.dev/c/monogon/+/4454\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "3553b240af181f5eba87ffd2af9323fa054e1967",
      "tree": "6b6457ca8fff37cde8eca98067884bbe9e39bbbd",
      "parents": [
        "c263592f0b260d13439e7e4a566b3db3ae6ebc38"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 21 18:19:05 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 22 17:24:03 2025 +0000"
      },
      "message": "osbase/logtree: add WithBacklogOrder\n\nBy moving the log entry reversal to the logtree.LogReader,\nthe behavior of getEntries and scanEntries changed. This is\nfine as there are no other consumers for these functions outside of\nlogtree and the reader keeps the previous behavior, but also allows\nto skip it.\n\nChange-Id: If1fddd14d43aca64009655b978d6a05dd910eb50\nReviewed-on: https://review.monogon.dev/c/monogon/+/4447\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "c263592f0b260d13439e7e4a566b3db3ae6ebc38",
      "tree": "c95dbb68e8d2d19a4dd575f9a3736b82775e2947",
      "parents": [
        "5a4037ccda447a1346c905287499bd069a408f8b"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 21 18:01:23 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 22 17:24:03 2025 +0000"
      },
      "message": "osbase/logtree: add WithStreamBufferSize option\n\nChange-Id: I3aa2e39a2a191d8bac6812181df00f17660c99a9\nReviewed-on: https://review.monogon.dev/c/monogon/+/4446\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "5a4037ccda447a1346c905287499bd069a408f8b",
      "tree": "22948091ba54cfad137587abef794930d03aa25a",
      "parents": [
        "9e964888dbac4ba94a1925deb1765d478b3258ff"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Mon Jul 21 18:27:05 2025 +0200"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Tue Jul 22 15:50:31 2025 +0000"
      },
      "message": "third_party/nix/pkgs/bazel_8: fix linux-sandbox\n\nLooks like this never actually worked on NixOS due to a\nhardcoded /bin/true.\n\nChange-Id: I6a6a6964bf6951592e92bfcd16b309a8d46e123d\nReviewed-on: https://review.monogon.dev/c/monogon/+/4448\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "9e964888dbac4ba94a1925deb1765d478b3258ff",
      "tree": "178d087c11dc1c462a86dbeb84ab4a257450df38",
      "parents": [
        "ce0ea8fc0f9f887535e7556c1f1f47d6719efae9"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 22 01:06:21 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 22 15:32:33 2025 +0000"
      },
      "message": "osbase/logtree: use constant for defaultDNQuota\n\nChange-Id: I74273a63b837b92f7147b2f694fd5324da34fbd4\nReviewed-on: https://review.monogon.dev/c/monogon/+/4451\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "ce0ea8fc0f9f887535e7556c1f1f47d6719efae9",
      "tree": "096f6732fbe2a3552472718b267a943d59f5b995",
      "parents": [
        "50093be02ea628287b98f98f1c7511a8c6d5a305"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 21 19:13:43 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 22 15:32:30 2025 +0000"
      },
      "message": "osbase/logtree: make Read() more readable\n\nChange-Id: Ic6b365a79f90c59d2624889f795bfc7c684d815a\nReviewed-on: https://review.monogon.dev/c/monogon/+/4449\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "50093be02ea628287b98f98f1c7511a8c6d5a305",
      "tree": "8e57b7db6a1050e036e4ff829c574a146072c579",
      "parents": [
        "8a75ccd30eb81a9e66d8fcf983c122dc21db26f7"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 21 17:39:09 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 22 15:32:30 2025 +0000"
      },
      "message": "osbase/logtree: refactor LogReadOption to use functions\n\nThis makes default values way easier\n\nChange-Id: Iddfe22da84054bd122eb7a2db63b07329a9458e0\nReviewed-on: https://review.monogon.dev/c/monogon/+/4445\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "8a75ccd30eb81a9e66d8fcf983c122dc21db26f7",
      "tree": "d8a1bfc4bf183711d86e65b75cc3c6fd0882a30c",
      "parents": [
        "e10570c7991d736e43e13afeeac1013ec3eaa0aa"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 22 00:39:07 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 22 15:32:30 2025 +0000"
      },
      "message": ".gitignore: add .gitreview\n\ngit-review is a tool that helps submitting git branches to Gerrit for review.\n\nChange-Id: I5b5693463b8e41e1166545402e60b56c5b82be4a\nReviewed-on: https://review.monogon.dev/c/monogon/+/4450\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "e10570c7991d736e43e13afeeac1013ec3eaa0aa",
      "tree": "0d71df70a90534a2d3bcc2a49ad69ef131825ed7",
      "parents": [
        "df4ab3c35c0aa0213a59d56b2333196fa8a34720"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 17 19:36:10 2025 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Fri Jul 18 17:32:06 2025 +0000"
      },
      "message": "third_party/linux: use UTC timestamp\n\nPreviously, the build timestamp was generated in the local timezone,\nwhich the date command reads from /etc/localtime. This meant that the\nbuild was not reproducible across hosts with different timezones.\nNow, it should always print the timestamp in UTC.\n\nChange-Id: I696c1fa410fb3abf7918e861015566298250d541\nReviewed-on: https://review.monogon.dev/c/monogon/+/4443\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "df4ab3c35c0aa0213a59d56b2333196fa8a34720",
      "tree": "e96f94150e01dec48e62621c99d27c3e3e2e3a76",
      "parents": [
        "cfbc903146d77408567646708f4c9c3ae782145a"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 17 15:21:25 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 17 15:03:12 2025 +0000"
      },
      "message": "build/ci: build toolchain bundle\n\nCloses monogon/monogon#490\n\nChange-Id: I05aa62d9eb296d7730679883d017ec3480d22fb1\nReviewed-on: https://review.monogon.dev/c/monogon/+/4442\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "cfbc903146d77408567646708f4c9c3ae782145a",
      "tree": "494bf768df9bea2743345c10fa0a6335ac04bbbd",
      "parents": [
        "a16e6f917f70054bbe50fdc100ae1a7be2e40d91"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 15 14:18:45 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 17 14:53:07 2025 +0000"
      },
      "message": "treewide: bump to k8s v1.33.2\n\nUpdate Kubernetes to 1.33 which is already at patch version 2. As part\nof K8s gomod dependencies containerd was bumped a minor release to 2.1.3.\nThe UserNamespacesSupport feature gate is now default-on and was thus\ndropped. The netlink patches were upstreamed and can now be dropped as\npart of the depenency update. A new klog sink adapter for our logging\ninterface was introduced as the client-go MutationCache now requires a\nlogger.\n\ncontainerd abuses gRPC interfaces for mocking, thus they are not\nforward-compatible and need a new patch to be compatible with the\nCRI version now being used.\n\nChange-Id: I4feb2ab3bcfca5b83c7ea38ed444b14ade1e9bf0\nReviewed-on: https://review.monogon.dev/c/monogon/+/4433\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "a16e6f917f70054bbe50fdc100ae1a7be2e40d91",
      "tree": "4ca516d9720adf2b0f723da10f901c9950d794a6",
      "parents": [
        "bd57c1d1c5055b8f6ec7f2fade44746529506d43"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 16 23:48:18 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 17 13:05:11 2025 +0000"
      },
      "message": "build/ci: split up stages for more parallelism\n\nChange-Id: I1fa1be24f789562bcd060ac3b5ff4cc314cffe59\nReviewed-on: https://review.monogon.dev/c/monogon/+/4440\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "bd57c1d1c5055b8f6ec7f2fade44746529506d43",
      "tree": "a252398e84e1886be2df2be1f2069267c866e56a",
      "parents": [
        "371faaca47a77fa1c567f26c082a1d8e9c7ce30f"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 16 15:57:55 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 17 12:35:36 2025 +0000"
      },
      "message": "metropolis/test/launch: enable VNC for launch-cluster\n\nChange-Id: Ia32860b98ed7d4aec6aa7f6a2fb22813edea0e48\nReviewed-on: https://review.monogon.dev/c/monogon/+/4436\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "371faaca47a77fa1c567f26c082a1d8e9c7ce30f",
      "tree": "fee968b5e3263f9fde87d01cf0f75c06aaae039b",
      "parents": [
        "7d1538f30cda018f55303fb1a76a8ddf3286990a"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 17 14:02:58 2025 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 17 12:30:25 2025 +0000"
      },
      "message": "m/cli/metroctl: add multiplatform metroctl target\n\nThis adds a target which builds metroctl for multiple platforms. Because\nthis target will be built with \"bazel test //...\", we no longer need to\nexplicitly test building metroctl for various platforms in CI.\n\nBuilding fails with --config\u003drace; I added a target_compatible_with so\nthe target is skipped in this case.\n\nChange-Id: Ib747233bc8442af5f947d35289d36ddd147b7953\nReviewed-on: https://review.monogon.dev/c/monogon/+/4439\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "7d1538f30cda018f55303fb1a76a8ddf3286990a",
      "tree": "0d9a46cc49ac41a3f85e3e87ece77a26aea235c0",
      "parents": [
        "4bd25e8621d42bdff3d9966a43be14f99f4fe752"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 17 10:08:18 2025 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 17 09:05:31 2025 +0000"
      },
      "message": "osbase/build/mkpayload: make section order reproducible\n\nIteration order of Go maps is randomized, which resulted in sections\nbeing added to the EFI file in random order. Now, the sections are\nstored in a slice instead of a map, such that they are added to the file\nin the order they are defined. This fixes a reproducibility bug.\n\nChange-Id: I2a4c775a6b16e4f8a00c6b195dd169d874213d47\nReviewed-on: https://review.monogon.dev/c/monogon/+/4441\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "4bd25e8621d42bdff3d9966a43be14f99f4fe752",
      "tree": "10e88bf5cad3546392e76b0919a3d0e432f0769e",
      "parents": [
        "7ae2559d38ac1f3765044c52b98ff5665e7317d2"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Jul 11 19:36:28 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 16 21:51:25 2025 +0000"
      },
      "message": "treewide: override TMPDIR for tests that use qemu\n\nWhen running QEMU with snapshot\u003don set, QEMU creates a copy of the\nprovided file in $TMPDIR. If $TMPDIR is set to /tmp, it will always\nbe overridden to /var/tmp. This creates an issue for us, as the\nbazel tests only wire up /tmp, with /var/tmp being unaccessible\nbecause of permissions. Bazel provides $TEST_TMPDIR for this\nusecase, which we resolve to an absolute path and then override\n$TMPDIR.\n\nChange-Id: I767159211d3b3db2aafd0f4fc17d6d6480974f16\nReviewed-on: https://review.monogon.dev/c/monogon/+/4422\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "7ae2559d38ac1f3765044c52b98ff5665e7317d2",
      "tree": "04d2b449c53e0a3afd9272f0df7e136497937247",
      "parents": [
        "5d357d87ad3dc14bedbfd9e012eae5b8ff85f772"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 09 06:53:30 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 16 21:14:23 2025 +0000"
      },
      "message": "root: add .envrc\n\nChange-Id: I969b8d32157e408d09bc2f32b8450581d5eb9c37\nReviewed-on: https://review.monogon.dev/c/monogon/+/4413\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "5d357d87ad3dc14bedbfd9e012eae5b8ff85f772",
      "tree": "1791af9ca36aabd988b8db1c81516debbf9036da",
      "parents": [
        "2b480f6eb860b94cf96f133f3700e08f18c76c40"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 10 18:47:15 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 16 21:14:12 2025 +0000"
      },
      "message": "treewide: remove FHSEnv\n\nTo remove the FHSenv, we have to patch rules_python to use\n/usr/bin/env to resolve the path to bash instead of hardcoding it.\nAdditionally, we now bring a Nix-compatible Bazel 8.\n\nChange-Id: Id51e7748eea6dd77185f43a52fe45b5110ba4a2b\nReviewed-on: https://review.monogon.dev/c/monogon/+/4427\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "2b480f6eb860b94cf96f133f3700e08f18c76c40",
      "tree": "3da0c62f81b8c67ab5138beb34be7f3b57ea05b6",
      "parents": [
        "26add7576e6d9346b33de5fbbccabba1108f4785"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 15 14:45:05 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 15 14:17:45 2025 +0000"
      },
      "message": "treewide: use go version from go.mod\n\nInstead of manually syncing the Go version we use to build,\nwe can tell rules_go to fetch it from our go.mod.\n\nChange-Id: Ic6bcf71ca67d0773c525ffaa0b992df34d5e7f5f\nReviewed-on: https://review.monogon.dev/c/monogon/+/4434\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "26add7576e6d9346b33de5fbbccabba1108f4785",
      "tree": "1ca5aa22e92a5b6a79d2aa02fb69a7bc412c79a2",
      "parents": [
        "2add1cb4f90df3dfe3dac1748605555f4158f125"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 15 11:36:05 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 15 12:21:06 2025 +0000"
      },
      "message": "m/n/core/curator: remove flaky attribute\n\nThe issue is closed for a while now.\n\nCloses monogon/monogon#392\n\nChange-Id: Ie6f5be2882706f149901e098315e742b4bd19644\nReviewed-on: https://review.monogon.dev/c/monogon/+/4432\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "2add1cb4f90df3dfe3dac1748605555f4158f125",
      "tree": "5c79b1296315a835cdf402f54350ab03090d2ce1",
      "parents": [
        "e2265b30113f50b7b2d04259ad326c3e4aba7f5e"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jul 14 09:26:18 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Jul 15 11:55:43 2025 +0000"
      },
      "message": "osbase/build/mkverity: generate salt from product info\n\nThe salt is now generated from the product info file, instead of the\ninput image file. This reduces build time by around 0.3 s.\n\nChange-Id: Id3263e24604745324a5652658ff79cc79c9df5fa\nReviewed-on: https://review.monogon.dev/c/monogon/+/4431\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "e2265b30113f50b7b2d04259ad326c3e4aba7f5e",
      "tree": "cc66d11b44a21770f6855e75fe3bc1f7ad0d80ce",
      "parents": [
        "f6c2cd25e6f0dca5cbe6279d46a3a77f14120529"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 10 19:31:07 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 10 18:06:03 2025 +0000"
      },
      "message": ".github/workflows: fix syntax\n\nChange-Id: I5db08f6aedf95d9d32f6ffce7508f23febb41e11\nReviewed-on: https://review.monogon.dev/c/monogon/+/4426\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "f6c2cd25e6f0dca5cbe6279d46a3a77f14120529",
      "tree": "8e9bbb99b82d70495c3752a7e76ae5ee0dfdcca7",
      "parents": [
        "9c8f253e311762b742bf15b1f271008ccaecfc65"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 09 22:13:55 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 10 16:37:57 2025 +0000"
      },
      "message": "b/t/toolchain-bundle: patch bison to use env for path resolving\n\nChange-Id: I266b30d442aa62f32ffbb6ccbe869012a91bcf0a\nReviewed-on: https://review.monogon.dev/c/monogon/+/4420\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "9c8f253e311762b742bf15b1f271008ccaecfc65",
      "tree": "cd1a2911594fc34cc9ce8f921890f16cea0173a3",
      "parents": [
        "9a063aec1750c21e684ab6f9d367dd0d02563648"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 09 23:09:06 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 10 16:37:24 2025 +0000"
      },
      "message": "third_party/linux: force bison und flex from toolchain-bundle\n\nAlso fix BISON_PKGDIR env var\n\nChange-Id: Iadf71b1b02b06a7faaa6ecdc4e154c3f08b81007\nReviewed-on: https://review.monogon.dev/c/monogon/+/4421\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "9a063aec1750c21e684ab6f9d367dd0d02563648",
      "tree": "c6b1139fabf647f30b8619a14fefddf80b7dfea9",
      "parents": [
        "ea800253e8a4b5ddf44b9358fcc9e6c67f88ee78"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 09 18:35:34 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 10 16:37:20 2025 +0000"
      },
      "message": "third_party/edk2: use busybox toolchain\n\nThis add the busybox toolchain as we need it as soon as the tools are\nnot in PATH. Currently its fine as we have a FHSEnv on NixOS and\ncoreutils in our Jenkins CI. As soon as we remove the FHSEnv this is\nactually required. It\u0027s done by replacing the strace toolchain which\nwas added by accident when debugging the edk2 build.\n\nChange-Id: I081099d93ea3625a00d216569f522154ba3faabe\nReviewed-on: https://review.monogon.dev/c/monogon/+/4416\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "ea800253e8a4b5ddf44b9358fcc9e6c67f88ee78",
      "tree": "f5b197a7d1e6d5f089a736e175f8e63840a03299",
      "parents": [
        "8cd10304755dbd8962bc4e7b68af9ac3bcb99ffd"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 09 07:00:29 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 10 16:34:22 2025 +0000"
      },
      "message": "b/t/toolchain-bundle: add python3.12\n\nChange-Id: Iedf0c35f5f4334bf5c93c5cc937ef855cbabd5c6\nReviewed-on: https://review.monogon.dev/c/monogon/+/4411\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "8cd10304755dbd8962bc4e7b68af9ac3bcb99ffd",
      "tree": "285095d58c359e2c1883320e9fdbdbcdb5abc82d",
      "parents": [
        "3871fa1003840be797fc3f49efb716ae5f4862b1"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 10 17:58:42 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 10 16:34:22 2025 +0000"
      },
      "message": "third_party/nix: bump nixpkgs\n\nChange-Id: Ie33773d96451a92ce431b49a87e410c536ff4857\nReviewed-on: https://review.monogon.dev/c/monogon/+/4423\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "3871fa1003840be797fc3f49efb716ae5f4862b1",
      "tree": "22394cf2fbae2c134fc297b9e7231b640b3b9218",
      "parents": [
        "58bbc85c27d2d91276113640ba1fe6ea0f2e8b0c"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 09 17:30:00 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 10 11:11:12 2025 +0000"
      },
      "message": "osbase/build/mkverity: make build reproducible\n\nThe verity encoder previously generated a random salt. To make the build\nreproducible, the salt is now taken from a hash of the entire input\nfile.\n\nI shortened the salt from 64 bytes to 16 bytes. This is enough for the\npurpose of the salt, which is to make hash collisions not reusable\nacross images. A potential benefit of the 64 byte salt is that it fills\na sha256 block and thus the remaining data is aligned to that block\nsize. On the other hand, with a 16 byte salt, one fewer hash block is\nneeded because the sha256 length fits in the last partially filled\nblock.\n\nThe encoder also generated a random UUID, but this did not affect\nreproducibility as we do not write the superblock. For now, I removed\nthe UUID generation as it is completely unused.\n\nNow, the build of //metropolis/node:oci_image is reproducible on my\nmachine.\n\nChange-Id: I756ca31d02e65c7d6ce7bbfd6749c835ab696f3f\nReviewed-on: https://review.monogon.dev/c/monogon/+/4418\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "58bbc85c27d2d91276113640ba1fe6ea0f2e8b0c",
      "tree": "bf38ed05f93a7eac50b610a454203d995c4220f0",
      "parents": [
        "03dadba89882b90e671a0942311e1588b37fc918"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 09 10:13:21 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 10 11:11:12 2025 +0000"
      },
      "message": "third_party/linux: make build reproducible\n\nLinux includes a timestamp, username and hostname in /proc/version and\nother places. We need to set these to a fixed value to make the build\nreproducible. For the timestamp, we can use the modified date of any\nfile in the source archive; all files in the archive have the same\ntimestamp.\n\nSee Linux Documentation/kbuild/reproducible-builds.rst\n\nChange-Id: If50bb5a8ee73e5bc37e95a5d38e7ee87d85518a5\nReviewed-on: https://review.monogon.dev/c/monogon/+/4417\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "03dadba89882b90e671a0942311e1588b37fc918",
      "tree": "1a722255b8f5238ead2911ba17b18e914433e235",
      "parents": [
        "62229cf857f1f205b4190bd3d6069928984e36fe"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 09 06:58:03 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 09 23:59:05 2025 +0000"
      },
      "message": "build/toolchain/toolchain-bundle: Add and use supported targets list\n\nThis makes the definitions less verbose.\n\nChange-Id: Ifc4d9853b408da876100c41e79bc9d4f4d800d63\nReviewed-on: https://review.monogon.dev/c/monogon/+/4410\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "62229cf857f1f205b4190bd3d6069928984e36fe",
      "tree": "050834d60ca831733825a83aceab78736a5a4404",
      "parents": [
        "59b49c9b57d37673ef4ecf0c2855280910fc4462"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jul 07 12:47:31 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Jul 09 18:03:12 2025 +0000"
      },
      "message": "treewide: update etcd to 3.6\n\nThis is a fairly large update, containing 4 years of upstream\ndevelopment. A lot of code has been moved around, requiring a rebase of\nall patches and ajustments in code using it.\n\nUpstream requires that upgrades first go through etcd 3.5.20, which is\ndone in a CL below this one. Other than that upgrades are possible\nthrough normal Monogon node updates, but downgrades (while implemented\nfor 3.6.0) are still not supported in Monogon until further work is\ndone.\n\nThere are significant issues in etcd synchronization between the\n\"outside\" manager (embed or standalone) and the core (EtcdServer), one\nof which affects removal of the ConsensusMember role, causing a panic\ndue to the client listener not being closed when the server shuts down\non its own. This is triggered by the autopromoter hitting an endpoint on\na shut-down etcd, which accesses a nil backend. This issue existed\nbefore, a full fix will likely involve either significantly rewriting or\ngetting rid of the embed package, so this just fixes the panic-causing\ncode path.\n\nChange-Id: If5932a7428a262fde406a5bb652a40d211301734\nReviewed-on: https://review.monogon.dev/c/monogon/+/4394\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "59b49c9b57d37673ef4ecf0c2855280910fc4462",
      "tree": "16f86529ce090fb684d9382969dd839326b018b0",
      "parents": [
        "f59b6bea7c5cee84b1b52e706eb3d9b8da7cf010"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 09 06:54:49 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 09 16:21:00 2025 +0000"
      },
      "message": "third_party/rules_rust: remove direnv dependency for loader_wrapper\n\nChange-Id: I0eb1106b8ec3775ee1218fa9874dcadee3419403\nReviewed-on: https://review.monogon.dev/c/monogon/+/4408\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "f59b6bea7c5cee84b1b52e706eb3d9b8da7cf010",
      "tree": "02e7b2df095ce099c19b7d629ebd31d6dd60b30e",
      "parents": [
        "06341a6b1afd7e6c7c395bd6731c7df978c8c4e5"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 09 06:54:15 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 09 16:21:00 2025 +0000"
      },
      "message": "third_party/glib: disable glibc specific features\n\nChange-Id: Icafde61cb3a273495f30165134d26665aa969cb9\nReviewed-on: https://review.monogon.dev/c/monogon/+/4407\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "06341a6b1afd7e6c7c395bd6731c7df978c8c4e5",
      "tree": "afef720aecd0149092f252413db89d1b5ceba4da",
      "parents": [
        "2b9a0a0fcf0aeece55ba8792a22cfa42733823c0"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 09 08:02:35 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 09 14:53:49 2025 +0000"
      },
      "message": "build/binary_tarball: rename from static_binary_tarball\n\nThe static_binary_tarball rule no longer has a transition to build\nstatically, so the \"static\" part of the name is not meaningful anymore.\n\nChange-Id: Ifaecf2f7846a963d957d4bfcc89a3d9e7e911f5c\nReviewed-on: https://review.monogon.dev/c/monogon/+/4415\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "2b9a0a0fcf0aeece55ba8792a22cfa42733823c0",
      "tree": "b8694b0d0224bcdc37238306e00e68bf261bd71d",
      "parents": [
        "10d47cc2d5d64f2a0b0e9a70b7ce09a306a14c37"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 09 07:54:12 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 09 14:53:49 2025 +0000"
      },
      "message": "treewide: remove build_static_transition\n\nWe now build everything statically on Linux. This means we don\u0027t need\nthe build_static_transition anymore, as it has become a no-op.\n\nChange-Id: Id6b978daf09bf3e8e252d00da3795909d7ce3b75\nReviewed-on: https://review.monogon.dev/c/monogon/+/4414\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "10d47cc2d5d64f2a0b0e9a70b7ce09a306a14c37",
      "tree": "d979a6c9fd50666fbcf23507601c81f1079ea47d",
      "parents": [
        "bb53d28169fe2f80fd42635b03fe8ee01af85bb4"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 01 00:34:51 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "fionera@fionera.de",
        "time": "Wed Jul 09 14:31:46 2025 +0000"
      },
      "message": "metropolis/node/abloader: Update to uefi 0.35.0 and prost 0.14.1\n\nChange-Id: I8e81056621c465173cb8416f01c37a46ed65fc28\nReviewed-on: https://review.monogon.dev/c/monogon/+/4377\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "bb53d28169fe2f80fd42635b03fe8ee01af85bb4",
      "tree": "a061351e24b704cc8b3ff475d820da3dc5b3ce64",
      "parents": [
        "e18cf27d820dc24ac610130a3cdab642cc4903b6"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Tue Jul 08 17:13:31 2025 +0200"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Tue Jul 08 15:59:40 2025 +0000"
      },
      "message": "tools/bazel: short-circuit wrapper when running inside nix-shell\n\nTested:\n- `bazel` inside Nix shell.\n- `tools/bazel info` inside Nix shell.\n- `tools/bazel info` outside Nix shell.\n-  `nix-shell -p bazelisk --run \u0027bazelisk info\u0027` outside Nix shell.\n\nChange-Id: I6a6a696430ea12d0bd61db56f13af596cf0a6729\nReviewed-on: https://review.monogon.dev/c/monogon/+/4405\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "e18cf27d820dc24ac610130a3cdab642cc4903b6",
      "tree": "38df60da52fa51d40f33093dd663b7b0a5a018c4",
      "parents": [
        "66953ecf01f293fa3fe1619883682cafad67d866"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Tue Jul 08 16:56:03 2025 +0200"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Tue Jul 08 15:27:05 2025 +0000"
      },
      "message": "intellij: remove custom tooling\n\n- The patch hasn\u0027t applied in a long time, and nobody has complained,\n  so it would appear that the patch is no longer necessary.\n\n- localconfig and run configs are unused/unmaintained.\n\nChange-Id: I6a6a6964d58dac6b7f2e749059716edf98ac129f\nReviewed-on: https://review.monogon.dev/c/monogon/+/4404\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "66953ecf01f293fa3fe1619883682cafad67d866",
      "tree": "199930e9641b034474ce1143000cd74bd6d23914",
      "parents": [
        "12240f9bb95fae3b6c4737d825c498f35320e89b"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 02 21:24:09 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 08 13:25:30 2025 +0000"
      },
      "message": "treewide: remove sandboxroot\n\nBe gone! 🎉\n\nChange-Id: Ibd032f4bcfe079c7d2acf4e444f543da30a14c53\nReviewed-on: https://review.monogon.dev/c/monogon/+/4398\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "12240f9bb95fae3b6c4737d825c498f35320e89b",
      "tree": "6cb9d3e47168fc7736c0ce484879f9d59cae9893",
      "parents": [
        "a92977339eef83af2cf94d28fe8786c0fafe53bc"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Apr 28 14:59:33 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 08 13:25:25 2025 +0000"
      },
      "message": "third_party/edk2: use toolchain-bundle for edk2 build\n\nThis moves the build into a custom rule instead of a genrule.\nThis also adds the AARCH64 build and renames the files to be more\ngeneric\n\nChange-Id: If6e3cecaf4011e2e39f13b1d40bcc7060cee3afb\nReviewed-on: https://review.monogon.dev/c/monogon/+/4154\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "a92977339eef83af2cf94d28fe8786c0fafe53bc",
      "tree": "ea1080bab9a9569f0f90ef5d3178aaf2445a7fe9",
      "parents": [
        "0a2a9402b6e3b576ce5c0ac6e98d1d6271b925ac"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jul 07 13:23:24 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jul 08 12:00:34 2025 +0000"
      },
      "message": "gomod: update etcd to 3.5.21\n\nThis is required for any in-place upgrades to etcd 3.6 and higher as\nearlier 3.5 releases have a bug [1] relating to learner metadata which\nall Monogon nodes would trigger. Any ConsensusMember nodes first need to\nbe upgraded to a build containing this change but not the 3.6 upgrade\nbefore being able to upgrade to a 3.6-containg version.\n\n[1] https://github.com/etcd-io/etcd/issues/19557\n\nChange-Id: I689b3456daf0fa28c38a8cc22e33cb4b6032ad49\nReviewed-on: https://review.monogon.dev/c/monogon/+/4393\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "0a2a9402b6e3b576ce5c0ac6e98d1d6271b925ac",
      "tree": "452483ca78690107d633ea71a6ea3ef7e6e3bbd6",
      "parents": [
        "6cca932dd18af0bb3e0c6dba5a71855983b3af19"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 08 01:55:59 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 08 11:43:48 2025 +0000"
      },
      "message": "metropolis/cli/takeover/e2e: write metroctl configs to tmp directory\n\nWithout the sandboxroot, metroctl tries to create /.config,\nwhich obviously will fail as it doesn\u0027t have root permissions.\nThis overrides the config dir to use a temporary directory.\n\nChange-Id: I8c8316e170e1e21d006ba831eaa86734fdb726cc\nReviewed-on: https://review.monogon.dev/c/monogon/+/4402\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "6cca932dd18af0bb3e0c6dba5a71855983b3af19",
      "tree": "4c1df95b3663ccd40e44c03967d582c3732af96d",
      "parents": [
        "c3a6a05f3e140657c45abfdc9a945e2ab379d47c"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 15 21:13:32 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 08 11:43:32 2025 +0000"
      },
      "message": "third_party/linux: use toolchain-bundle for linux kernel build\n\nThis contains lots of workarounds and should be migrated to a native\nbazel integration.\n\nChange-Id: Ib0a52daf3879df4d5369541475c42fa506a54328\nReviewed-on: https://review.monogon.dev/c/monogon/+/4101\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "c3a6a05f3e140657c45abfdc9a945e2ab379d47c",
      "tree": "baad4789b83e9ab93e43394d1944f6d2270a79a2",
      "parents": [
        "31c44491e5a1632f6f881df3b52beadddb57653c"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 07 17:00:11 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 08 11:43:32 2025 +0000"
      },
      "message": "build/platforms: fix missing flags on remote execution platform\n\nChange-Id: Ie3408448a44a87cb099b5d4ef3d902c45669b6fe\nReviewed-on: https://review.monogon.dev/c/monogon/+/4401\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "31c44491e5a1632f6f881df3b52beadddb57653c",
      "tree": "768d72d556413b32eaeb8ceb24bf3d645507b1a9",
      "parents": [
        "c4c89601ff800c421caea620d7c183c3c616bb46"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jul 07 13:32:10 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jul 08 10:23:10 2025 +0000"
      },
      "message": "m/n/c/network: log interfaces when none match\n\nThis helps users figure out what interfaces are available for matching\nwhen no interfaces match a given description. Also helps distinguishing\nbad selectors from hardware which does not show up (because of missing\ndrivers or hardware/firmware issues).\n\nChange-Id: Ie4bbdc04b76af7feed123b5df587c9eb5ee7ea37\nReviewed-on: https://review.monogon.dev/c/monogon/+/4395\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "c4c89601ff800c421caea620d7c183c3c616bb46",
      "tree": "305a1f1044aaaa7f0d4fb1e9e40ff81003aca131",
      "parents": [
        "83e86df1b58c6ff0a982c1241a83d240b878fef6"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 07 17:00:11 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 07 20:50:20 2025 +0000"
      },
      "message": "treewide: remove host_cc_toolchain, add static flags to linux platforms\n\nWith rules_rust now being able to build with our toolchain and sysroot,\nwe can finally get rid of the host_cc_toolchain.\n\nChange-Id: Ic63bc34ff94d152a9c2d8a01a6036255da5e14cc\nReviewed-on: https://review.monogon.dev/c/monogon/+/4397\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "83e86df1b58c6ff0a982c1241a83d240b878fef6",
      "tree": "7d622c8d6d58877d35134300b917c6cdf983e3dc",
      "parents": [
        "548cbe63b69b01f3013c0935f217eab653c5ed63"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jul 07 13:52:47 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jul 07 15:06:13 2025 +0000"
      },
      "message": "third_party/linux: increase maximum CPUs to 512\n\nServer CPUs with more than 64 cores are very common, so we need to bump\nthis. Linux technically supports up to 8192 cores (x86_64) or 4096 cores\n(arm64), but only with offstack CPU masks. These have some known\nfunctional and performance issues and thus should only be enabled when\nneeded. For arbitrary reasons [1] this limit is 256 on ARM64 and 512 on\nx86_64. Since we need a 512 limit on all architectures this places us in\nthe unfortunate situation of needing to enable offstack for ARM64 but\nnot for x86_64. This aligns with other distros like Google\u0027s COS and\nClear Linux, but is unfortunate. We do not increase the ARM64 limit\nfurther as despite offstack being selected, some drivers (like mlx5) do\nstill keep these structures on the stack [2].\n\n[1] https://lore.kernel.org/linux-arm-kernel/ZfiFMr8s68cf2uac@arm.com/T/#t\n[2] https://lore.kernel.org/all/20250620111010.3364606-1-arnd@kernel.org/\n\nChange-Id: I78a8b3b886ddb15f8bdd919c3806a3416e5cf943\nReviewed-on: https://review.monogon.dev/c/monogon/+/4396\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "548cbe63b69b01f3013c0935f217eab653c5ed63",
      "tree": "93f5cfa0f9d6bdf4aa077d22339005bc786bcaf9",
      "parents": [
        "edb3b3ad467533231dcd041c71d7370401bf12eb"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 03 16:26:11 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jul 07 14:38:48 2025 +0000"
      },
      "message": "third_party/rules_rust: Use musl toolchain and add loader_wrapper\n\nChange-Id: Ia873e6bf43ed8f6f3c56943dba0e893b7efb7f44\nReviewed-on: https://review.monogon.dev/c/monogon/+/4310\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "edb3b3ad467533231dcd041c71d7370401bf12eb",
      "tree": "3e9a38e5752d841bc1582d920e40bcc577a6018e",
      "parents": [
        "3545df32f717c806d2610bbdc2bceaa6645069e2"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jul 07 11:18:56 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jul 07 12:00:13 2025 +0000"
      },
      "message": "third_party/linux: enable QLogic FastLinQ NICs\n\nThese are still used in the wild, enable them in our kernel config.\n\nChange-Id: Idbe967609302b77edaa85853203dfaee4cd07852\nReviewed-on: https://review.monogon.dev/c/monogon/+/4392\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "3545df32f717c806d2610bbdc2bceaa6645069e2",
      "tree": "edd421d895a2fc285a74c59790b3a7757d14e1da",
      "parents": [
        "18b18d1cbe84739238215608ba3a1556bab13378"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jul 07 11:15:15 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jul 07 12:00:13 2025 +0000"
      },
      "message": "m/installer: support kernel modules with firmware\n\nAdd device manager runnable and associated metadata, loadable kernel\nmodules and firmware. This is required to run the installer on platforms\nwhich require loadable firmware to access storage devices.\n\nChange-Id: I680c741df23693a8810220e4831e8bd45afca580\nReviewed-on: https://review.monogon.dev/c/monogon/+/4391\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "18b18d1cbe84739238215608ba3a1556bab13378",
      "tree": "074a2c43ce9aa27b37af2685a3cddda8b4bad0c2",
      "parents": [
        "da101ca15a636d3caac051fdd90aa5801421cd56"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jul 07 11:12:28 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jul 07 12:00:13 2025 +0000"
      },
      "message": "m/c/metroctl/install: fix custom NodeParameters\n\nUnmarshaling into a nil pointer panics, use a locally-allocated variable\ninstead.\n\nChange-Id: I0b00df6d6b06aaf662ddf93f996df804b8bbef5f\nReviewed-on: https://review.monogon.dev/c/monogon/+/4390\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "da101ca15a636d3caac051fdd90aa5801421cd56",
      "tree": "10ab7641942c9290673ce8ea2af26482e9620fc9",
      "parents": [
        "78fd25b108c2f636de83e5f74c59e4d15f633fb0"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jul 03 11:42:57 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jul 07 11:43:58 2025 +0000"
      },
      "message": "linux: add more USB modules\n\nThis adds more USB modules, mostly to support install from USB\non more platforms. Also enables dynamic minor numbers to support\narbitrary numbers of devices.\n\nChange-Id: Ie634fcbc8fd35e4775cc999d6a9af371732f2e4c\nReviewed-on: https://review.monogon.dev/c/monogon/+/4388\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "78fd25b108c2f636de83e5f74c59e4d15f633fb0",
      "tree": "359f13742ba928909ed9acb95c75b70d023c0742",
      "parents": [
        "22bea7550a9cb9265aa0c6a1dd118ff7e9b99300"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 02 21:30:09 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Jul 04 19:50:29 2025 +0000"
      },
      "message": "treewide: bump bazel to 8.3.1\n\nThis also bumps bazel_skylib, as it uses deprecated functionality.\n\nChange-Id: I26d665967c14e5b3a437a3322f065ae1e2e63d9e\nReviewed-on: https://review.monogon.dev/c/monogon/+/4383\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "22bea7550a9cb9265aa0c6a1dd118ff7e9b99300",
      "tree": "6e01d4401baf90f5bf7db588eb8ca7174671133e",
      "parents": [
        "1212ea1514581ce6a7779004270c0721262594ba"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 03 07:17:11 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 03 15:48:33 2025 +0000"
      },
      "message": "build/bazel: make Rust EFI builds reproducible\n\nThe abloader build was not reproducible because of this issue:\nhttps://github.com/rust-lang/rust/issues/112587\n\nWe don\u0027t need the PDB file, so this disables it.\n\nCo-authored-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nChange-Id: I8791d5c43ce23c3d1de1e0a3eeedc4d47f8eb4e7\nReviewed-on: https://review.monogon.dev/c/monogon/+/4386\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "1212ea1514581ce6a7779004270c0721262594ba",
      "tree": "118a1c9b69fccae9be2b2de0a00dc65aa886fafb",
      "parents": [
        "804024979fd8c5adaece89207a0d29646d7cbbe2"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 03 07:42:43 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Jul 03 09:42:50 2025 +0000"
      },
      "message": "osbase/bootparam: make test external\n\nThe bootparam package was the only package with this edge case:\n\n1. It has both an internal and an external test.\n2. The external test depends on a separate package, which depends on the\n   package under test.\n\nThe core of rules_go has a 225 line function to handle this edge case:\nhttps://github.com/bazel-contrib/rules_go/blob/v0.55.1/go/private/rules/test.bzl#L519\n\nHowever, the edge case is not handled by the gopackagesdriver.\nAdditionally, the separate package (bootparam/ref) uses cgo, which\ncauses additional problems. This means that the Go VS Code extension\nalways reports 8 warnings in the bootparam and ref packages.\n\nInstead of fixing this edge case in gopackagesdriver, it\u0027s easier to\nmake bootparam package not have this special case by making the internal\ntest external. This removes all the warnings.\n\nChange-Id: Ia0aa4d2b62cdeaaec9983f3ecf4d229ea49358b2\nReviewed-on: https://review.monogon.dev/c/monogon/+/4387\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "804024979fd8c5adaece89207a0d29646d7cbbe2",
      "tree": "70991d13fba4b166da6889acd342bc923f69bd22",
      "parents": [
        "3f5f3ed34f44a7c88f7755f1945db514df03d773"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 02 14:07:34 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jul 02 16:19:57 2025 +0000"
      },
      "message": "third_party/rules_go: add gopackagesdriver patch\n\nChange-Id: I398dcc4a3a4812083f4b62c00ea21b727b5a8462\nReviewed-on: https://review.monogon.dev/c/monogon/+/4380\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "3f5f3ed34f44a7c88f7755f1945db514df03d773",
      "tree": "5e0b535c3b3b72cc78d385093e9cd89cf6514589",
      "parents": [
        "ca73504068e1468d7ac7842007bea4ec6799ec60"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 02 16:10:40 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jul 02 14:38:19 2025 +0000"
      },
      "message": "treewide: bump toolchain_cc_mngn\n\nThis includes the MSVC compatible efi toolchain flags\n\nChange-Id: I06145ba9b1e403fb9df1005403958d4f04276007\nReviewed-on: https://review.monogon.dev/c/monogon/+/4381\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "ca73504068e1468d7ac7842007bea4ec6799ec60",
      "tree": "62f4f9ff7b24898544028fc2583426d59f41fac2",
      "parents": [
        "f6136cab946c3dc574032e671d096c5c86818b9b"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jun 05 08:56:34 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 01 11:30:33 2025 +0000"
      },
      "message": "treewide: add openssl\n\nopenssl is required for building the linux kernel.\n\nChange-Id: Ic855e767b167b1ac3f3172e47e0f42e4f2f35252\nReviewed-on: https://review.monogon.dev/c/monogon/+/4255\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "f6136cab946c3dc574032e671d096c5c86818b9b",
      "tree": "d39591ade1b2fab76e579855197edd4b3cf371e7",
      "parents": [
        "590239d455014624c8e27abfd0c8cf92ec14eb67"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Jul 01 08:38:07 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Jul 01 11:22:22 2025 +0000"
      },
      "message": "m/installer/install: embed bios_bootcode\n\nWe have a BIOS bootcode which displays a message that only UEFI boot is\nsupported, but this was not installed anywhere. Now it\u0027s included in the\ninstaller and in installed nodes.\n\nChange-Id: I319fcd30ad3eacbfdcb9bf7d95925e51ff896570\nReviewed-on: https://review.monogon.dev/c/monogon/+/4378\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "590239d455014624c8e27abfd0c8cf92ec14eb67",
      "tree": "c9849c26bc8280428ab3e8cd30591408e845377b",
      "parents": [
        "8bb5dfa3f09433a84d8bdf3bbc8768969776e160"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 15 17:35:22 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 01 10:52:37 2025 +0000"
      },
      "message": "treewide: configure rules_perl to our toolchain\n\nIn a future commit we will introduce openssl, which needs perl to\ngenerate asm code.\n\nChange-Id: I282c340c698ed339fb409514a9b09ffdf3475c34\nReviewed-on: https://review.monogon.dev/c/monogon/+/4096\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "8bb5dfa3f09433a84d8bdf3bbc8768969776e160",
      "tree": "2d78f208863411cccee71cc8cdee6e044a9cb7f6",
      "parents": [
        "8f1efe9a47240058ae639528cb3ced8adfe8b708"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 02 17:59:48 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 01 10:52:37 2025 +0000"
      },
      "message": "treewide: migrate to nasm in toolchain-bundle\n\nChange-Id: Ia5f8e20fee16197ad21320c96c6f2a1e66bc718f\nReviewed-on: https://review.monogon.dev/c/monogon/+/4082\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "8f1efe9a47240058ae639528cb3ced8adfe8b708",
      "tree": "d0605e8dd69c1e3e03a249daf545b34e3ded4997",
      "parents": [
        "3a7a67e3cc2d35d698b8a0dcaef1c52d5e92c173"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 01 01:28:43 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 01 10:52:37 2025 +0000"
      },
      "message": "treewide: migrate to qemu-kvm in toolchain-bundle\n\nChange-Id: I42a10a9adf7bdccb83ef997c6d554140ffaade4b\nReviewed-on: https://review.monogon.dev/c/monogon/+/4052\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "3a7a67e3cc2d35d698b8a0dcaef1c52d5e92c173",
      "tree": "2337b91f5df2ec06013795b18089c0bcd58d1743",
      "parents": [
        "98000a51baafc40f861bd17d8a333b65035df21c"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Mar 27 21:59:36 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 01 10:52:37 2025 +0000"
      },
      "message": "go/qcow2: migrate to qemu-img in toolchain-bundle\n\nChange-Id: I65a542932233d120bd2015dacd0efe4a9935705e\nReviewed-on: https://review.monogon.dev/c/monogon/+/4051\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "98000a51baafc40f861bd17d8a333b65035df21c",
      "tree": "b6f7c11992b9c61d522c60a86b342a377ee160f2",
      "parents": [
        "a5a817009be47049d7302dd0c1ec08f13c1fe4a7"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Mar 06 14:22:15 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jul 01 10:52:10 2025 +0000"
      },
      "message": "third_party/nix: introduce toolchain bundle\n\nThis introduces a nix derivation that builds a musl amd64/aarch64\ntoolchain sysroot.\n\nChange-Id: Iba082edb8fd1f2ab580020bb1c7339a76487f3c8\nReviewed-on: https://review.monogon.dev/c/monogon/+/4006\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "a5a817009be47049d7302dd0c1ec08f13c1fe4a7",
      "tree": "7715a4ad10210af395541675b52bc5ee3d7535d8",
      "parents": [
        "f06d2a71dbb9e800501a9b4419ffa193cae4efb4"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Wed Jun 25 20:45:25 2025 +0200"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Mon Jun 30 18:33:45 2025 +0000"
      },
      "message": "Update SETUP.md\n\nChange-Id: I4039769fffec8b139db5ed9533ff9047f8e2ae1a\nReviewed-on: https://review.monogon.dev/c/monogon/+/4311\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "f06d2a71dbb9e800501a9b4419ffa193cae4efb4",
      "tree": "82d9466592e56560bdac9c27542cee5ec246dea5",
      "parents": [
        "c8e2b60307cbb064798af8cfd11a86a9e5216289"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Wed Jun 25 18:51:36 2025 +0200"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Mon Jun 30 18:33:45 2025 +0000"
      },
      "message": "tools/gopackagesdriver: always use bazel wrapper\n\nThis makes gopackagesdriver work outside a Nix shell. It should not\nchange behavior inside a Nix shell since the distribution \"bazel\"\nbinary is a wrapper which calls tools/bazel.\n\nChange-Id: I3b669ae0cea6afdd7ffed4024346e0237ae1e5cf\nReviewed-on: https://review.monogon.dev/c/monogon/+/4309\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    }
  ],
  "next": "c8e2b60307cbb064798af8cfd11a86a9e5216289"
}
