)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "c8e2b60307cbb064798af8cfd11a86a9e5216289",
      "tree": "213dd06a5e3f84398a477a7a2593d231aa5fde62",
      "parents": [
        "27f2efb1df64c9bfa436b524d91e2eee0854973f"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sun Jun 29 03:16:47 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jun 30 17:26:11 2025 +0000"
      },
      "message": "metropolis/cli/metroctl: use DialContext instead of Dial\n\nCloses #387\n\nChange-Id: I2d6e0589d84463e45ca83baa05197bf3b53b8d72\nReviewed-on: https://review.monogon.dev/c/monogon/+/4358\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "27f2efb1df64c9bfa436b524d91e2eee0854973f",
      "tree": "48eebbad03471fe4988d8babf7d299cddab50820",
      "parents": [
        "8b9bf216bd4ab085ac3443edfe70a249f30359f1"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Sat Jun 28 11:53:12 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jun 30 14:22:03 2025 +0000"
      },
      "message": "bazelrc: set remote timeout\n\nThis is needed for remote builds to succeed, so add it to the default\nconfig to make it work OOTB.\n\nChange-Id: I5dbe588f6d2f6356f48d32c9c8d68886b73afc2b\nReviewed-on: https://review.monogon.dev/c/monogon/+/4365\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "8b9bf216bd4ab085ac3443edfe70a249f30359f1",
      "tree": "727f9b7ba438590345762dd2eba84b16d08ea1c4",
      "parents": [
        "446a147ed9dd63dc68dc4d4e4a0a09b8e244621e"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sun Jun 29 02:59:30 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jun 30 00:02:45 2025 +0000"
      },
      "message": "osbase/build/mkcpio: remove todo\n\nWe can all agree this is just normal bazel behaviour.\n\nCloses #456\n\nChange-Id: I0637261b99fd966885e958b19abd5dde1356f290\nReviewed-on: https://review.monogon.dev/c/monogon/+/4357\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "446a147ed9dd63dc68dc4d4e4a0a09b8e244621e",
      "tree": "908ef31326e73bd6456190bf21f3189aa04ac97d",
      "parents": [
        "5d3f553965576381e6ae227b44358460e232c584"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sun Jun 29 02:47:42 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jun 30 00:02:45 2025 +0000"
      },
      "message": "osbase/fat32: remove todo\n\nWe won\u0027t write a FAT32 stub.\n\nCloses #462\n\nChange-Id: If88a809a6295ab897a0508f32e26695b87b00ad7\nReviewed-on: https://review.monogon.dev/c/monogon/+/4356\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "5d3f553965576381e6ae227b44358460e232c584",
      "tree": "ef0c2081810fc54baeca60ad5419bb02aadfffa0",
      "parents": [
        "c36d28d4790c540139b37e4c13c466514c1ac89f"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sun Jun 29 02:38:26 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jun 30 00:02:45 2025 +0000"
      },
      "message": "metropolis/node/kubernetes: remove old todo\n\nCloses #436\n\nChange-Id: Ia5e8392e4046a7282171130410454b66ac211799\nReviewed-on: https://review.monogon.dev/c/monogon/+/4355\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "c36d28d4790c540139b37e4c13c466514c1ac89f",
      "tree": "83afad12f613af8c5554d2a4812debd86b240926",
      "parents": [
        "6675f53d0b12dbbe471269d6902dfa0801a3f1d8"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sun Jun 29 02:35:40 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jun 30 00:02:45 2025 +0000"
      },
      "message": "metropolis/node/core/network: replace magic number with constant\n\nCloses #418\n\nChange-Id: Ia93f2fbc4c7fe9d9f9ada768610e28e7044f1fa2\nReviewed-on: https://review.monogon.dev/c/monogon/+/4353\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "6675f53d0b12dbbe471269d6902dfa0801a3f1d8",
      "tree": "0752fcdc03c7b2ab39b82401af2b4799b1412af8",
      "parents": [
        "7fd64f60c607878c60e8c9eff2f21139fe389d6e"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sun Jun 29 02:34:41 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jun 30 00:02:45 2025 +0000"
      },
      "message": "metropolis/node/core/roleserve: remove flaky attribute\n\nCloses #421\n\nChange-Id: I4d50d382f31875cd354c67281bcfc91bda14c589\nReviewed-on: https://review.monogon.dev/c/monogon/+/4352\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "7fd64f60c607878c60e8c9eff2f21139fe389d6e",
      "tree": "41634730b730156b62f92e00d0aa2841eb700f0b",
      "parents": [
        "8fd51cd0cb06584bdfe2e7884662276d0c7bfe9b"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sun Jun 29 02:32:31 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jun 30 00:02:45 2025 +0000"
      },
      "message": "osbase/pki: remove SKID workaround\n\nWe are way newer than Go 1.15.\n\nCloses #476\n\nChange-Id: I876d2974598b7daadc9c99e452f57dd6b97a02cb\nReviewed-on: https://review.monogon.dev/c/monogon/+/4351\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "8fd51cd0cb06584bdfe2e7884662276d0c7bfe9b",
      "tree": "88aecf3fc0a34f63eea2d9f761c41ce60cb49686",
      "parents": [
        "3259f9a5381cb2b79582e73db1fa2da24772698b"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sun Jun 29 02:20:17 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jun 30 00:02:45 2025 +0000"
      },
      "message": "treewide: remove bzlmod dependency workaround\n\nCloses #487 #486 #485 #484 #483\n\nChange-Id: I2de434dab96743f9051b8c2064fb9f7d05d548aa\nReviewed-on: https://review.monogon.dev/c/monogon/+/4350\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "3259f9a5381cb2b79582e73db1fa2da24772698b",
      "tree": "586adf2e388918ff72d38a7901df4bb2335ab6b2",
      "parents": [
        "b460ec9961de50a67cdd2fd58437d76d86a6ed14"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sun Jun 29 00:45:43 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sat Jun 28 23:35:11 2025 +0000"
      },
      "message": ".github/workflows: allow manual run\n\nChange-Id: I299d9a69fbb9f66c0e7b1af342df5f8ad442a1f2\nReviewed-on: https://review.monogon.dev/c/monogon/+/4349\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "b460ec9961de50a67cdd2fd58437d76d86a6ed14",
      "tree": "acdb90afb3b416dcf69de893c914ffe6e8951319",
      "parents": [
        "b8f02067c48f333e4e9d3a5b44b950d553ca35aa"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sat Jun 28 23:36:31 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Sat Jun 28 22:32:07 2025 +0000"
      },
      "message": ".github/workflows: add todo-to-issue action\n\nCloses monogon/monogon#173\n\nChange-Id: Ieb7cde52c1c953c033608bedbe4aa812cd4cdc6c\nReviewed-on: https://review.monogon.dev/c/monogon/+/4348\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "b8f02067c48f333e4e9d3a5b44b950d553ca35aa",
      "tree": "ff043fc7bb097ca9b7d9f6108eef4fc04ff17586",
      "parents": [
        "3cc51638344e691b1dd9ff52482886508fff5d05"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Wed Jun 25 18:28:02 2025 +0200"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Thu Jun 26 14:58:25 2025 +0000"
      },
      "message": "tools: make bazel-vscode plugin work in the monorepo\n\nSet Bazel executable and remove stdout pollution.\n\nChange-Id: I2d1d7fb613e7e7a55d34c3e33b7a9e204e866879\nReviewed-on: https://review.monogon.dev/c/monogon/+/4308\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "3cc51638344e691b1dd9ff52482886508fff5d05",
      "tree": "7081638fced0141a45da9b162d8c8d227811c261",
      "parents": [
        "daf9e959b0ac976596640eab6a6ce79bbbccd1e7"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jun 23 14:37:50 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jun 25 15:37:52 2025 +0000"
      },
      "message": "m/test/e2e/suites/ha: decrease disk size\n\nReduce the size of the data partition from around 3 GB to 512 MB for the\nHA e2e test. This test has encryption with authentication enabled, which\nmeans the entire data partition is initialized. We can speed this test\nup and reduce disk wear by reducing the size.\n\nThe data partition needs to be at least 300 MB for mkfs.xfs.\n\nChange-Id: Idd7a40c55acb6b722489194acef08138cdff8ca9\nReviewed-on: https://review.monogon.dev/c/monogon/+/4298\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "daf9e959b0ac976596640eab6a6ce79bbbccd1e7",
      "tree": "23df07623e9a878e4a2bbd1ddeafecc0b94923fe",
      "parents": [
        "e19d27912839df47bdba0934b079f0a7d75b733c"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jun 23 13:28:16 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jun 25 15:37:52 2025 +0000"
      },
      "message": "m/installer/install: take OCI image in Params\n\ninstall.Params now takes an OCI image. This avoids some duplicate code\nto extract info from the OCI image in all places which create\ninstall.Params.\n\nChange-Id: I2430ce1101befaa1b1a4781f592d06ee015a0f99\nReviewed-on: https://review.monogon.dev/c/monogon/+/4297\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "e19d27912839df47bdba0934b079f0a7d75b733c",
      "tree": "8e70b78561b7dbb4d3d3988f0b77541e6409e2b3",
      "parents": [
        "e053036c16678261471539e425c59df0dd251603"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jun 23 12:37:58 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jun 25 15:37:52 2025 +0000"
      },
      "message": "m/installer/install: move from osbase/build/mkimage/osimage\n\nMove the package osbase/build/mkimage/osimage to\nmetropolis/installer/install. The package contains \"metropolis\" in\nvarious strings, so it fits better in //metropolis than in //osbase.\nThe parent package mkimage no longer exists.\n\nThe rename also removes the name clash with osbase/oci/osimage.\n\nChange-Id: Ia228ab94c937f4c7a5b6eb1fcc77993a594d64b6\nReviewed-on: https://review.monogon.dev/c/monogon/+/4296\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "e053036c16678261471539e425c59df0dd251603",
      "tree": "8f6007aa1442bd15275a5df747a372b7df3a9d84",
      "parents": [
        "3b0c8dd5b5a4cb535f9d256a0b6b3676507eb3e4"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jun 23 11:50:34 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jun 25 15:37:52 2025 +0000"
      },
      "message": "osbase/build/mkimage: delete package\n\nWe no longer use pre-build disk images for cluster launch, and it also\ndoesn\u0027t make sense to distribute these as release artifacts. This means\nwe no longer need mkimage.\n\nChange-Id: I72aa376561c91e114a80367f814b03434c82355f\nReviewed-on: https://review.monogon.dev/c/monogon/+/4295\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "3b0c8dd5b5a4cb535f9d256a0b6b3676507eb3e4",
      "tree": "e568a2087ba4f8335a1e2ba10a8e01e9809b4de8",
      "parents": [
        "e0db72ca567b5142bb6a31d745b3bf78cd8eb53a"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jun 23 10:32:07 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jun 25 15:37:52 2025 +0000"
      },
      "message": "m/test/launch: build image at runtime\n\nTest launch now builds the node disk image from the OCI image, instead\nof creating a qcow2 snapshot of the pre-built disk image. This speeds up\ntests and test cluster launch.\n\nThe OCI image is uncompressed and payloads are not verified, which\nenables the previously implemented copy_file_range optimization. If the\nhost file system supports reflinks, this has a similar effect as the\nqcow2 snapshot had previously: Building the image is very fast as the\nrootfs data is not copied on disk. On my machine, it takes 30 ms.\n\nThe build before launching a cluster is now faster: The MkImage step\ntaking 6 s is replaced by MkOCI taking 1 s. The majority of this time is\nspent by Bazel computing hashes of files. For MkImage, the generated\nfile was a 5 GB disk image consisting mostly of zeroes, which took a\nlong time to hash.\n\nAdditionally, the qcow2 layer added some overhead, which is now gone.\nThe HA e2e test previously took 103 s on my machine, now it takes 80 s.\n\nChange-Id: I0ce5059626cc682061c26ac3c8d11b752e641c60\nReviewed-on: https://review.monogon.dev/c/monogon/+/4294\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "e0db72ca567b5142bb6a31d745b3bf78cd8eb53a",
      "tree": "9182fda3cfa5e5f407969f66d7ca01ff5dbd5734",
      "parents": [
        "16298986aba754618473fe7658f74c8ebe28ee7e"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jun 18 18:14:07 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jun 25 15:37:52 2025 +0000"
      },
      "message": "osbase/blockdev: implement copy_file_range optimization\n\nThis change enables the use of the copy_file_range syscall on Linux when\ncopying from an os.File to a blockdev.File. This speeds up building of\nsystem images, especially with a file system which supports reflinks.\n\nThe implementation is partially based on the implementation in the Go\nstandard library for copy_file_range between two os.File in\nsrc/os/zero_copy_linux.go and src/internal/poll/copy_file_range_unix.go.\nWe can\u0027t use that implementation, because it only supports using the\nfile offset for both source and destination, but we want to provide the\ndestination offset as an argument. To support this, the ReaderFromAt\ninterface is introduced.\n\nWith these changes, copy_file_range is now used when building system\nimages, for both the rootfs and files on the FAT32 boot partition. If\nthe file system supports it (e.g. XFS), reflinks will be used for the\nrootfs, which means no data is copied. For files on the FAT32 partition,\nreflinks probably can\u0027t be used, because these are only aligned to 512\nbytes but would need to be aligned to 4096 bytes on my system for\nreflinking.\n\nChange-Id: Ie42b5834e6d3f63a5cc1f347d2681d8a6bb5c006\nReviewed-on: https://review.monogon.dev/c/monogon/+/4293\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "16298986aba754618473fe7658f74c8ebe28ee7e",
      "tree": "c2542547264b317fd6bde3a14d34db3814d93b63",
      "parents": [
        "54a2cf98fec77bc2718ec82881dd7d105f7154f1"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jun 25 01:08:14 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jun 25 14:29:17 2025 +0000"
      },
      "message": "build/mirror_proxy: replace rules_pkg with static_binary_tarball\n\nChange-Id: I184e1d36cc22b3075e5d7b49c40856a684b45976\nReviewed-on: https://review.monogon.dev/c/monogon/+/4301\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "54a2cf98fec77bc2718ec82881dd7d105f7154f1",
      "tree": "19f678994ce4dcaf1cf50e13c6fb85e8fa6cded0",
      "parents": [
        "2da91b9ecb9113ec8afb8e67baf749c0d56f8a73"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jun 25 01:06:37 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jun 25 12:32:47 2025 +0000"
      },
      "message": "treewide: bump rules_cc and aspect_bazel_lib\n\nThis removes all deprecation warnings from rules_cc\n\nChange-Id: Ieeb26c63dcbccf07ecc564c99659f3746a9bfa6a\nReviewed-on: https://review.monogon.dev/c/monogon/+/4300\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "2da91b9ecb9113ec8afb8e67baf749c0d56f8a73",
      "tree": "767c30441bd1a43393c72fd08704ef8ceca096f0",
      "parents": [
        "b0f019c5976abc762bb7ec95462a7e346905bac2"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 15 21:10:12 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jun 24 15:56:14 2025 +0000"
      },
      "message": "treewide: introduce cc_static_library_with_headers\n\nTo properly wire up cc_libraries we need to build them static and\nkeep the headers. Thats not possible with vanilla cc_static_library.\n\nChange-Id: Ia72660636086132eec6722f19b4233d45ce8f837\nReviewed-on: https://review.monogon.dev/c/monogon/+/4098\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "b0f019c5976abc762bb7ec95462a7e346905bac2",
      "tree": "4de86531863b85fc24cc12808d7ca0ab1e49dc06",
      "parents": [
        "da4f4d2ab786e2b8077c165ec4135fe70d68ff94"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 15 21:12:22 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jun 24 15:56:10 2025 +0000"
      },
      "message": "build/utils: modify detect_root to use list instead of files\n\nThis is required to be able to use this with runfiles.\n\nChange-Id: I73021136d622c2b70303a57b05ff768ebc316479\nReviewed-on: https://review.monogon.dev/c/monogon/+/4100\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "da4f4d2ab786e2b8077c165ec4135fe70d68ff94",
      "tree": "1b32eaf07105e03c79016928266153d532d58649",
      "parents": [
        "ddec8d052d560edcac2c76197c8997c5c7740458"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Jun 20 22:01:12 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jun 24 15:13:34 2025 +0000"
      },
      "message": "third_party/glib: patch musl compat\n\nChange-Id: Ia749d56aba67735dfb861a3e60f1efc9374e9ee1\nReviewed-on: https://review.monogon.dev/c/monogon/+/4299\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "ddec8d052d560edcac2c76197c8997c5c7740458",
      "tree": "251879f7eee946dff789675fe13beece4137fe88",
      "parents": [
        "03793e009d9d0c46b991f8d55aa33673b36f87c9"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 29 15:17:26 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jun 24 15:13:34 2025 +0000"
      },
      "message": "treewide: add libuuid\n\nChange-Id: I2ccff5d0c74393f32c3013bebd386cb127ab258e\nReviewed-on: https://review.monogon.dev/c/monogon/+/4161\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "03793e009d9d0c46b991f8d55aa33673b36f87c9",
      "tree": "60a50b5b0b45f6eff3098e99d1e3988bc1ad5422",
      "parents": [
        "f8fe18114ed2d7875315818d81235691c315ac96"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 15 17:41:39 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jun 24 15:01:44 2025 +0000"
      },
      "message": "treewide: setup libelf build\n\nChange-Id: I42ead2eac3be455015a302f947dfcc311057e46e\nReviewed-on: https://review.monogon.dev/c/monogon/+/4097\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "f8fe18114ed2d7875315818d81235691c315ac96",
      "tree": "16217de6c1817472633d3da5a4f347d208887d0d",
      "parents": [
        "77bf754c26c64befa772e00f652faf784b0913c9"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jun 16 12:44:20 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jun 24 13:25:40 2025 +0000"
      },
      "message": "treewide: replace custom mdbook rules with rules_rust extension\n\nChange-Id: I342080f27cf3b41d0522aec7142b35ab53f1e24e\nReviewed-on: https://review.monogon.dev/c/monogon/+/4256\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "77bf754c26c64befa772e00f652faf784b0913c9",
      "tree": "98be13ae200a12fb278eed38732b19a5a66d3b24",
      "parents": [
        "e08c16075bd39da9194aff89e4e9f479740ae56d"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Mon Jun 23 11:26:31 2025 +0200"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Mon Jun 23 13:35:46 2025 +0000"
      },
      "message": "*: github.com/monogon-dev -\u003e github.com/monogon\n\nChange-Id: I0b8bfde3d99d5308a73d51f869cb1440e285939f\nReviewed-on: https://review.monogon.dev/c/monogon/+/4291\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "e08c16075bd39da9194aff89e4e9f479740ae56d",
      "tree": "29ed52fd7a3c76cb0a9d18248bac098ae61e97fa",
      "parents": [
        "a0bd93fa37ccabae99b81bdd604cef1aee7d481d"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jun 17 19:19:33 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jun 19 10:49:00 2025 +0000"
      },
      "message": "m/n/core/network: implement LLDP transmission\n\nImplements simple LLDP transmission-only support for Monogon OS. It\nadvertises enough to do topology discovery through LLDP. Currently it\nsupports MAC address, interface name, node name and product\nname/version. More information can be added in the future.\n\nTested using Wireshark on launch-cluster node/switch traffic.\n\nChange-Id: If5777bc042ef87bd8d26c548324c6de6f14f7270\nReviewed-on: https://review.monogon.dev/c/monogon/+/4282\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "a0bd93fa37ccabae99b81bdd604cef1aee7d481d",
      "tree": "2c27694575fec874d0838a332fb2b12935f65d80",
      "parents": [
        "04b6708ade95866a6c35f3d78da713ee603fc2c1"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed May 28 18:03:34 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jun 18 21:35:04 2025 +0000"
      },
      "message": "treewide: replace gperf archive with bzlmod dependency\n\nChange-Id: I7208f1868792abbd5cd5de79a4438a243d1e5b67\nReviewed-on: https://review.monogon.dev/c/monogon/+/4233\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "04b6708ade95866a6c35f3d78da713ee603fc2c1",
      "tree": "d15640e401efaed10283856fae56434e0767e539",
      "parents": [
        "a6864bbc6f283898fea79d666e44a3be776410e1"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed May 28 17:40:07 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jun 18 21:35:04 2025 +0000"
      },
      "message": "treewide: replace libcap archive with bzlmod dependency\n\nChange-Id: I571a5e58640e567cfa1c9a6d2c5bc90d99b8fc46\nReviewed-on: https://review.monogon.dev/c/monogon/+/4231\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "a6864bbc6f283898fea79d666e44a3be776410e1",
      "tree": "297893a3f74b7a7d00796dfc95aa69913fb733c1",
      "parents": [
        "5299a6073c62516b72f52e42413e1078f287989d"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jun 18 11:58:23 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jun 18 13:09:15 2025 +0000"
      },
      "message": "metropolis/handbook: document stamping\n\nChange-Id: Id4ff51f7b0cb2e3969a18cd03ec31f4200def182\nReviewed-on: https://review.monogon.dev/c/monogon/+/4285\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "5299a6073c62516b72f52e42413e1078f287989d",
      "tree": "938af61f2616b3d9caab7e5261a16b6e25a70200",
      "parents": [
        "d4817496c23ab0b39b94ffc5a47ba63be0cf23ed"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jun 18 11:50:41 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Jun 18 13:09:09 2025 +0000"
      },
      "message": "third_party/musl: delete\n\nThis is no longer used after the migration to toolchain_cc.\n\nChange-Id: Ib0c1a80be4aa80c4f08d9b2927ceabd5bb4b4148\nReviewed-on: https://review.monogon.dev/c/monogon/+/4284\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "d4817496c23ab0b39b94ffc5a47ba63be0cf23ed",
      "tree": "b21338c9e3adbd055c72fd5000b7c9f1a9799d10",
      "parents": [
        "2caadc7b37bca50bb50d74fd1f181c8e77915f38"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jun 16 15:03:12 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Jun 18 12:34:13 2025 +0000"
      },
      "message": "treewide: bump dependencies\n\nChange-Id: Ibe397cb7eb2f2c591cb1affa5272616197a6c31c\nReviewed-on: https://review.monogon.dev/c/monogon/+/4281\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "2caadc7b37bca50bb50d74fd1f181c8e77915f38",
      "tree": "a14f8ddcf74d248da4ecb9592a358eb7190bd698",
      "parents": [
        "b480450a7919e01704ebdef113c3ac11d7d55867"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed May 28 17:34:57 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jun 17 12:23:03 2025 +0000"
      },
      "message": "treewide: replace glib archive with bzlmod dependency\n\nChange-Id: I1476b6fbdd6a602bb2cf87d37f3fa1e7fd4afac4\nReviewed-on: https://review.monogon.dev/c/monogon/+/4230\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "b480450a7919e01704ebdef113c3ac11d7d55867",
      "tree": "d0c09823a558b48507d0f35c60ab43983a43acc8",
      "parents": [
        "20d0f5a0a97995ee6179ad20bd0c4b3521bf54c8"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed May 28 17:33:27 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jun 17 12:23:03 2025 +0000"
      },
      "message": "treewide: replace boringssl archive with bzlmod dependency\n\nChange-Id: I126d2c798d8588ac3b6a6006a6b0d7a45445b353\nReviewed-on: https://review.monogon.dev/c/monogon/+/4229\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "20d0f5a0a97995ee6179ad20bd0c4b3521bf54c8",
      "tree": "8927aef2e274d2dfbe0f90f54b3b3145dde1c70e",
      "parents": [
        "441eb16a26ff9ca41c866645cb97d50792361117"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed May 28 18:22:46 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jun 17 12:22:57 2025 +0000"
      },
      "message": "treewide: bump nixpkgs to 25.05\n\nChange-Id: Ida5021d7ff11c9ed715db49621e21808c2644da4\nReviewed-on: https://review.monogon.dev/c/monogon/+/4234\nTested-by: Jenkins CI\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\n"
    },
    {
      "commit": "441eb16a26ff9ca41c866645cb97d50792361117",
      "tree": "2d2f6a00b52daf5a989a51b653a2a69296bfc08e",
      "parents": [
        "4b8882699a307857c52e2faa3d4dfa544b188cd1"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed May 28 18:03:21 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jun 16 16:15:59 2025 +0000"
      },
      "message": "treewide: force mirror urls to https\n\nChange-Id: If661078d9c5f9b75d4918a00de7ad54069d06b7c\nReviewed-on: https://review.monogon.dev/c/monogon/+/4232\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "4b8882699a307857c52e2faa3d4dfa544b188cd1",
      "tree": "c6fcc0c145d95d9b5b86feb27a655c040f9dd8af",
      "parents": [
        "b86917b2bdb755de8106aea08841c914d52d3347"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue May 13 09:12:03 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jun 16 15:41:59 2025 +0000"
      },
      "message": "treewide: use architecture-specific UEFI boot path\n\nThe default UEFI boot path depends on the architecture. This change is\nneeded for aarch64 support.\n\nChange-Id: I69916ac5063e963b67ecdcdd814b0678c61da9fb\nReviewed-on: https://review.monogon.dev/c/monogon/+/4195\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "b86917b2bdb755de8106aea08841c914d52d3347",
      "tree": "18727705322dc5b26584b7fe019812447f737224",
      "parents": [
        "07e6905d472157754a536564046a23654960de45"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed May 14 16:31:08 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jun 16 15:41:59 2025 +0000"
      },
      "message": "metropolis: replace version stamp with product info\n\nThis removes the stamped metropolis version library and the associated\nstampgo infrastructure, and replaces it with the product info file.\n\nThe info is now stored in a separate file in the rootfs, instead of\nembedded in the core binary. This has the benefit that the core binary\nno longer needs to be relinked when stamping info changes.\n\nThe version logging in core/main, and the tconsole are updated to show\nsome of the additional info from the product info.\n\nChange-Id: Ic5ed0e3598e8da71b96748e8d7abfedff41acd3f\nReviewed-on: https://review.monogon.dev/c/monogon/+/4207\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "07e6905d472157754a536564046a23654960de45",
      "tree": "38a5f334ae805515623a871cd7cf18ee16077cea",
      "parents": [
        "e6c0c329809eeca1c800eeec44a5599a0cf45f6b"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon May 12 16:34:15 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jun 16 15:41:59 2025 +0000"
      },
      "message": "treewide: add product info to OCI OS images\n\nAdd the product info to the OCI OS image config.\n\nChange-Id: I70c572f2698c8d8bb0edc0ba969d8c6b37ae4c00\nReviewed-on: https://review.monogon.dev/c/monogon/+/4193\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "e6c0c329809eeca1c800eeec44a5599a0cf45f6b",
      "tree": "35ccb939eb9b0de15abd0d30da4b4eb260f3e4b6",
      "parents": [
        "e342086c9d71e3eb38c0a159e559ab4de0033492"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon May 12 16:14:25 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jun 16 15:41:59 2025 +0000"
      },
      "message": "treewide: build product info\n\nThis change adds the type definition and generator for product info,\nwhich will be added to the OCI OS image to provide information about the\ncontents.\n\nHere is an example product info:\n\n{\n\t\"id\": \"metropolis-node\",\n\t\"name\": \"Metropolis Node\",\n\t\"version\": \"0.1.0-dev1059\",\n\t\"variant\": \"x86_64-race\",\n\t\"commit_hash\": \"56248c1c1d5039bdf3c1043ade88f3f158ceb52b\",\n\t\"commit_date\": \"2025-05-08T18:26:46+00:00\",\n\t\"build_tree_dirty\": true,\n\t\"components\": [\n\t\t{\"id\": \"linux\", \"version\": \"6.12.15\"},\n\t\t{\"id\": \"kubernetes\", \"version\": \"1.32.0\"}\n\t]\n}\n\nThe product info has the same inputs and a similar purpose as the\nos-release file, so they are both generated by the same build action.\n\nChange-Id: I89d453f2d72ac9df49e404f46381cd594534f800\nReviewed-on: https://review.monogon.dev/c/monogon/+/4192\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "e342086c9d71e3eb38c0a159e559ab4de0033492",
      "tree": "6795427cc0b379243663cf35c253c305bba9cff8",
      "parents": [
        "b5bfd647c5385686687d438499a0014a99be4060"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jun 05 12:25:03 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Jun 11 19:46:15 2025 +0000"
      },
      "message": "treewide: basic ARM64 fixes\n\nThis introduces per-arch kernel configs, adds a basic ARM64 kconfig,\nadds ttyAMA0 as a console as well as makes some smaller fixes needed for\nbasic ARM64 operation. This is not production-ready, but it boots\nMonogon on ARM64.\n\nChange-Id: Ifd1d8e33f3fe65883626b8ae7a766c98ea912121\nReviewed-on: https://review.monogon.dev/c/monogon/+/4247\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "b5bfd647c5385686687d438499a0014a99be4060",
      "tree": "f66158cfa1461b20ba11d1da0cf2fa9f97ead934",
      "parents": [
        "6df40aaf96ec4bcd5567b448109ec0a73cc5b2c8"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu May 22 15:39:35 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Jun 11 19:46:15 2025 +0000"
      },
      "message": "MODULE: add aarch64 toolchains\n\nThis allows us to finally do AArch64 cross-builds for an entire Monogon\nOS bundle.\n\nChange-Id: Ide69c3a90d0669cb013619dc6850e93ccd1e45af\nReviewed-on: https://review.monogon.dev/c/monogon/+/4216\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "6df40aaf96ec4bcd5567b448109ec0a73cc5b2c8",
      "tree": "d412bad375fa031b3663aefe1b3364f0547734b4",
      "parents": [
        "163525e321a41724b1e457315c5003603957b3c6"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu May 22 15:35:44 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Jun 11 19:46:15 2025 +0000"
      },
      "message": "t/linux: use toolchain and platforms\n\nThis allows us to do builds for different platforms consistent with how\nBazel does them. Also uses our own LLVM toolchain instead of the\n\"ambient\" GCC. As bzImages only exist for x86, rename everything to\nImage which is the cross-platform name. For us this is fine as we use\nthe PE entry point which exists for all of these.\n\nBinary path generation is a hack as not all of the ones Linux needs are\nactually available in the rules-based toolchain and we need a special\ncalling convention to work around a bug in LLVM when compiling assembly\nwith preprocessor macros.\n\nChange-Id: I8ed8fa7c1514b9ffbfaedf235e32250e4af40aa4\nReviewed-on: https://review.monogon.dev/c/monogon/+/4215\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "163525e321a41724b1e457315c5003603957b3c6",
      "tree": "80d85c9fe0f4904696f49bffd704063e6671de17",
      "parents": [
        "6ff6b45b266b0ef0768d5172769ba1d725b10124"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu May 22 15:30:14 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Jun 11 19:46:15 2025 +0000"
      },
      "message": "o/build/mkpayload: port to llvm-objcopy\n\nGNU and LLVM objcopy have some material differences in how they work.\nLLVM is able to automatically assign VMAs, but needs --set-section-flags\nfor it. Use that and drop all the explicit VMAs.\nAlso with the new toolchain cc.objcopy_excutable is not populated, so we\nneed to get the executable path using the new action-based way.\n\nCurrently contains a hack to force static on to get our custom toolchain\nfor both host and cross-builds as GNU objcopy is not compatible.\n\nChange-Id: I0a5ef1cbeb3f94326a2cef099c23c046df166bdd\nReviewed-on: https://review.monogon.dev/c/monogon/+/4214\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "6ff6b45b266b0ef0768d5172769ba1d725b10124",
      "tree": "1150c8f1c1b2393384d0c5e2e2b0b8336230971a",
      "parents": [
        "043c0b4c1a89078eafe4c8faefa78ccbadf3a233"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu May 22 14:35:09 2025 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Jun 11 19:46:15 2025 +0000"
      },
      "message": "third_party/efistub: update to use PE entry point\n\nThe old efistub used the EFI handover mechanism, which only exists for\nx86_64. Since Linux 5.8 x86_64 also supports the standard PE entry point\nwhich works the same for all supported architectures. That also has the\nbenefit of no longer needing a weird hack to switch to SysV ABI to call\ninto the kernel.\n\nChange-Id: Icd75599758e09d888a31c31f07967dfc78356fca\nReviewed-on: https://review.monogon.dev/c/monogon/+/4213\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "043c0b4c1a89078eafe4c8faefa78ccbadf3a233",
      "tree": "9c2f5c9059b6df4730918bdedb7d617685fbf836",
      "parents": [
        "b21bdf9e01a4211cc0b8f91fc7beb113a9ed86c3"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Mar 13 21:09:36 2025 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jun 05 17:02:25 2025 +0000"
      },
      "message": "treewide: migrate to toolchain_cc\n\nThis contains the first part of the toolchain_cc migration. It leaves\nthe native host GCC, but everything that we ship is now built with\ntoolchain_cc with the exception of Linux which gets migrated later in\nthis stack.\n\nChange-Id: Icb3422857fd3baf0ff61b7edd5754517f6a73dfc\nReviewed-on: https://review.monogon.dev/c/monogon/+/4012\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "b21bdf9e01a4211cc0b8f91fc7beb113a9ed86c3",
      "tree": "4b5be2005cb81ca338fde86ae0706d935c67b6aa",
      "parents": [
        "d0d5d9dd04574305cf86bf1eb3e787549100ea28"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed May 28 18:37:35 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jun 02 20:51:18 2025 +0000"
      },
      "message": "treewide: delete cloud/ except cloud/agent\n\nbmdb is no longer used in production and would be hard to maintain. The only non-stub provider is Equinix Metal, which is shutting down in 2026, and we are moving away from CockroachDB. Keep the agent, which we\u0027ll need for Monogon Cloud.\n\nChange-Id: If8b35c3ac8cdeed96a2b1814c0de7607e8acec63\nReviewed-on: https://review.monogon.dev/c/monogon/+/4235\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "d0d5d9dd04574305cf86bf1eb3e787549100ea28",
      "tree": "e685757c85066ce4671e125374725093577ea986",
      "parents": [
        "b554dd389e51718d5acf084cd706d32e16f3994d"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Mar 26 22:07:11 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jun 02 18:57:29 2025 +0000"
      },
      "message": "treewide: use Fatal in tests instead of Error\n\nError doesn\u0027t return the goroutine, but these cases are final and should end the test case.\n\nChange-Id: I9d87e268b56acd7d1ff5883bb82bf3d74c309176\nReviewed-on: https://review.monogon.dev/c/monogon/+/4044\nReviewed-by: Jan Schär \u003cjan@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "b554dd389e51718d5acf084cd706d32e16f3994d",
      "tree": "4c709c690445c96b2a836e4d69c5d0dc89322909",
      "parents": [
        "1e9f560edb2a13a06ee6c004a31f8b658eb34a92"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu May 22 09:53:33 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue May 27 07:32:21 2025 +0000"
      },
      "message": "third_party/nix: symlink more files from host /etc\n\nbuildFHSEnv creates a tmpfs at /etc, mounts the host /etc at /.host-etc,\nand then creates symlinks in /etc to /.host-etc for some files.\nThe list of files is here:\nhttps://github.com/NixOS/nixpkgs/blob/24.11/pkgs/build-support/build-fhsenv-bubblewrap/default.nix#L57\n\nThis means that, after entering nix-shell, the /etc/bazel.bazelrc and\n/etc/gitconfig files are missing. The list in buildFHSEnv is not\nextensible by the user, so instead I create the additional symlinks in\nwrapper.sh.\n\nbuildFHSUserEnv has been renamed to buildFHSEnv:\nhttps://github.com/NixOS/nixpkgs/blob/7c0cdc746a0a1862133a49183f93cb80052b39e6/pkgs/top-level/aliases.nix#L376\n\nChange-Id: I582156391e7636747fae1a20befb13aa290b80d6\nReviewed-on: https://review.monogon.dev/c/monogon/+/4212\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "1e9f560edb2a13a06ee6c004a31f8b658eb34a92",
      "tree": "cad9eec4dccf57e4a52032da6fc97f8795b7af6a",
      "parents": [
        "36f3b6dcbcfd359b744a29cf9245c9dd6879435f"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed May 21 07:40:56 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue May 27 07:32:21 2025 +0000"
      },
      "message": "treewide: bump rules_go to v0.54.0\n\nThis includes a fix for the gopackagesdriver not finding standard\nlibrary files:\nhttps://github.com/bazel-contrib/rules_go/commit/cf3c3af34bd869b864f5f2b98e2f41c2b220d6c9\n\nThe gopackagesdriver problem appeared with commit 0fd36f458729 which\nenabled pure Go globally. rules_go runs `go list` to obtain standard\nlibrary files. When pure is enabled, `-compiled\u003dtrue` is not passed to\nthe list command, and then the output does not include CompiledGoFiles,\nonly GoFiles (see `go help list`). But gopls always expects\nCompiledGoFiles to be present.\n\nChange-Id: Ide2eaae5aa45510cf83c7a8691cb0af3e112ebf9\nReviewed-on: https://review.monogon.dev/c/monogon/+/4211\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "36f3b6dcbcfd359b744a29cf9245c9dd6879435f",
      "tree": "ee0dcb43cd1a7c22a1fcbaa379d949bd4362b758",
      "parents": [
        "afb922cfba991a2af1473da5850b75e8db03dd56"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue May 20 09:05:12 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue May 27 07:32:21 2025 +0000"
      },
      "message": "treewide: replace stampsrcs with embed\n\nA rules_go maintainer suggested using embed instead of stampsrcs:\nhttps://github.com/bazel-contrib/rules_go/issues/3507\n\nFor Kubernetes, this means we need to patch the version libraries.\nInstead of creating a separate file for each variable, I put them all in\none file, which is parsed in an init function. This init function needs\nto run before all other init functions, which access the variables.\n\nAnother benefit of this change is that versions are stamped in all\nbinaries which include Kubernetes client libraries, not just hyperkube.\n\nChange-Id: Ib1157d3686fc35e0c4191d2fc8e165862a1973c7\nReviewed-on: https://review.monogon.dev/c/monogon/+/4208\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "afb922cfba991a2af1473da5850b75e8db03dd56",
      "tree": "3628d11c046f80d27446bc0c903202da0f0a2a5f",
      "parents": [
        "af72f68cf9415fbcdf00183b5392b1e7a842b9aa"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon May 19 10:18:37 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue May 20 07:05:56 2025 +0000"
      },
      "message": ".bazelrc: include platform in output directory\n\nThis change enables the --experimental_platform_in_output_dir flag,\nwhich changes output directory names to includes the platform instead of\nthe legacy --cpu flag.\n\nThis fixes two problems: The first is that builds of the OS image for\ntwo architectures use the same directory name \"k8-fastbuild\", so they\noverwrite each other. The second problem is that when the OS image is\nbuilt as a depencency of metroctl, where metrocl is built for a\ndifferent platform, then the OS image is built in an output directory\nlike \"k8-fastbuild-ST-12f4ce3d1c3f\" and thus is not shared with the\ndirect build of the OS image.\n\nAfter this change, the OS image is built under a path such as\n\"linux-x86_64-fastbuild\", and this doesn\u0027t change when it is built as a\ndependency of metroctl.\n\nChange-Id: I74b91c927a633c1ce05226e035fb92cf7a8f3b04\nReviewed-on: https://review.monogon.dev/c/monogon/+/4205\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "af72f68cf9415fbcdf00183b5392b1e7a842b9aa",
      "tree": "617957454b14061c77f28732fc2d9cab5747a425",
      "parents": [
        "d8f5f304dbfbe3398689fff8079fb66fc78a9fcf"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon May 19 09:58:13 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue May 20 07:05:56 2025 +0000"
      },
      "message": ".bazelrc: enable path mapping\n\nEnable Bazel path mapping, which removes the configuration from paths\nwhen actions run in a sandbox. This improves cache hit rate.\nSee https://github.com/bazelbuild/bazel/discussions/22658\n\nPath mapping allows sharing of build actions which are identical except\nfor the build configuration in the path. Thus, it addresses the symptom\nrather than the cause; it would be better to ensure that identical\nactions use the same configuration path. Path mapping is not supported\nfor all actions, and even if it is, results still need to be copied from\nthe cache. Despite these limitations, I still think it\u0027s worth enabling\nit, because it has no apparent performance cost, and we won\u0027t reach the\nideal of always having identical configuration paths for identical\nactions.\n\nPath mapping is always active, but only reduces the number of actions if\na cache is enabled. It shows up as increased disk cache hit and\ndeduplicated numbers.\n\nBuild actions need to opt in to use this feature, and then need to\nfollow some rules. For Go, compile actions without cgo are supported.\n\nChange-Id: I142f851125231e916b67a78b0a90f98c16867401\nReviewed-on: https://review.monogon.dev/c/monogon/+/4204\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "d8f5f304dbfbe3398689fff8079fb66fc78a9fcf",
      "tree": "ea8e5fa702de566efb091baa011cda2471cbdefd",
      "parents": [
        "091b8a67214aef628ed9e00f279e9bcd12c0fcbe"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue May 13 13:55:13 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue May 20 07:05:56 2025 +0000"
      },
      "message": ".bazelrc: remove default experimental flags\n\nThe flags removed here already have the same values as default in Bazel\n8.1.0.\n\nChange-Id: Ib8dc1679c506ae1193cb44aa9b651f706a0eb90f\nReviewed-on: https://review.monogon.dev/c/monogon/+/4203\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "091b8a67214aef628ed9e00f279e9bcd12c0fcbe",
      "tree": "74eeae3973ae280853e7cff9220d9eaf04683443",
      "parents": [
        "69b7687c6a755ea017974c7318409970c2822e91"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue May 13 09:07:50 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon May 19 14:38:19 2025 +0000"
      },
      "message": "osbase/build/mkimage/osimage: remove initial slash in EFI paths\n\nMany places where these paths are used don\u0027t need the initial slash, and\nit\u0027s easier to add it than to remove it.\n\nChange-Id: Iec189628556c9aa1c022fdd46a2c9fe57692e0aa\nReviewed-on: https://review.monogon.dev/c/monogon/+/4194\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "69b7687c6a755ea017974c7318409970c2822e91",
      "tree": "9fb6c6ffcbb8822a2a943e85ebfd00601bb01fa1",
      "parents": [
        "549b1d3549b05b589d697a53ce2e663f9d87f8e3"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed May 14 16:39:47 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon May 19 08:37:47 2025 +0000"
      },
      "message": "metropolis/node: move misplaced packages out of core\n\nabloader, bios_bootcode and minit don\u0027t run as part of the core process,\nso it doesn\u0027t make sense to have them in //metropolis/node/core.\nThis changes moves these three to //metropolis/node.\n\nChange-Id: I908efb311a138f07a9f1de8e3c23437ff00131ee\nReviewed-on: https://review.monogon.dev/c/monogon/+/4196\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "549b1d3549b05b589d697a53ce2e663f9d87f8e3",
      "tree": "d44418d8d60abfaac5bcfa23bfe7e68c62375efd",
      "parents": [
        "3cebdfd8929e83d79b1048295775786f2661153a"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon May 12 09:51:04 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon May 12 15:20:19 2025 +0000"
      },
      "message": "osbase/build: fix unused config transition\n\nThe race and pure configs are only changed by command line flags, not by\ntransitions. This means that they should not be included in the\nignore_unused_configuration to avoid unnecessary rebuilds.\n\nI previously added the race config here, but that was because of a\nmisunderstanding: The ST-hash in the output path is not a hash of the\nconfiguration, but of the diff of the configuration against the\nbaseline. The baseline includes all the flags set on the command line.\nThis is controlled by --experimental_output_directory_naming_scheme\nwhich defaults to diff_against_dynamic_baseline.\n\nWhat this means is that changing a flag on the command line does not\nchange the hash of the diff, so it does not rebuild actions which don\u0027t\nuse the flag. But if you then try to reset the config in a transition,\nthe configs are the same but the diff hashes are not, resulting in\nunnecessary rebuilds.\n\nChange-Id: Ibfe8581e0a5c64ccd0d75a0f7c85c7d7b6d46abd\nReviewed-on: https://review.monogon.dev/c/monogon/+/4191\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "3cebdfd8929e83d79b1048295775786f2661153a",
      "tree": "f7ba908bc8019cd9af22ad564fb000d55aa41131",
      "parents": [
        "56248c1c1d5039bdf3c1043ade88f3f158ceb52b"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon May 12 09:11:33 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon May 12 15:20:19 2025 +0000"
      },
      "message": "m/cli/metroctl: transition node platform\n\nAdd a platform transition to the node binary data dependencies of\nmetroctl. These binaries always need to be built for linux.\nAdditionally, the user may want to build them for a different\narchitecture than metroctl, which is possible with the new node_arch\nflag. If the flag is not set, the architecture is inherited.\n\nChange-Id: If4a15146392dfbc48c8e13db3bfb131f32176559\nReviewed-on: https://review.monogon.dev/c/monogon/+/4190\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "56248c1c1d5039bdf3c1043ade88f3f158ceb52b",
      "tree": "ce29b41e052bc5ca6b7b1bb22acb390c09212178",
      "parents": [
        "51c6748c2158d7dbc1ec79ada63a5e68a27f8533"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon May 05 13:34:18 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu May 08 18:26:46 2025 +0000"
      },
      "message": "build/bazel: enable Rust aarch64 UEFI toolchain\n\nThis is required to build the abloader for aarch64.\n\nChange-Id: I25b46a8b7b1f335e5e8b589c4a868fb1412b9c9c\nReviewed-on: https://review.monogon.dev/c/monogon/+/4174\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "51c6748c2158d7dbc1ec79ada63a5e68a27f8533",
      "tree": "0e14029e3c73d4130b388904aba3237a7224f157",
      "parents": [
        "230a31aec7de7270e5a89a81443f69f9525ad4db"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon May 05 13:11:55 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu May 08 18:26:46 2025 +0000"
      },
      "message": "treewide: implement basic aarch64 support\n\nThis adds aarch64 platforms, and some fixes for aarch64 support. This is\nnot yet complete; e.g. toolchains for aarch64 targets are still missing.\n\nI renamed the amd64 platforms to x86_64 and efi to uefi for consistency\nwith @platforms.\n\nsyscall.Dup2 does not exist on arm64, but unix.Dup2 does.\n\nChange-Id: I3ab081b2b852945b723ec83768f79000b8c4def4\nReviewed-on: https://review.monogon.dev/c/monogon/+/4173\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "230a31aec7de7270e5a89a81443f69f9525ad4db",
      "tree": "bf5fffb68a6cccf4d47505173e036f047979614e",
      "parents": [
        "a81e2a66cf2160d4782d06c4278cbd8a85145f6a"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon May 05 12:28:50 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu May 08 18:26:46 2025 +0000"
      },
      "message": "build: switch to build settings for static build\n\nThis switches the way to select static linking for C builds from a\nconstraint_setting to a build_setting. The benefit of this is that the\ntransition to static linking no longer depends on the architecture,\nbecause this setting is not part of the platform anymore.\n\nThe alternative would be to select the matching static platform based on\nthe architecture in the transition implementation. However, I did not\nfind a good way to obtain the architecture in a transition\nimplementation. You can access the platform through the settings\nparameter, but it\u0027s not clear how to extract the architecture from that.\nSomething that would work is to define an attribute for the architecture\non the rule where the transition is used, and fill this attribute using\na select() at the point where the rule is instantiated. But this\nrequires changes to all rules which use the transition, which is ugly.\n\nChange-Id: I8962e24b561b8d1724bac785cb3739cdc434d47e\nReviewed-on: https://review.monogon.dev/c/monogon/+/4172\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "a81e2a66cf2160d4782d06c4278cbd8a85145f6a",
      "tree": "cbc40ee9305ddfce108a1e2eb292820ca87ed166",
      "parents": [
        "df588d069ca78101325c1e6860ec226209c10c31"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon May 05 12:02:24 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu May 08 18:26:46 2025 +0000"
      },
      "message": "treewide: exclude flags from exec config\n\nThis enables the --experimental_exclude_starlark_flags_from_exec_config\nflag, which disables propagation of config settings across exec\ntransitions. This way, only one copy of protoc is built, without needing\na custom toolchain which ignores the settings.\n\nSee https://github.com/bazelbuild/bazel/issues/22457 for discussion\nabout this flag. Apparently, Google has enabled the flag internally.\n\nChange-Id: I750af589563ec40c59599a555bebe1a986d04d4a\nReviewed-on: https://review.monogon.dev/c/monogon/+/4171\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "df588d069ca78101325c1e6860ec226209c10c31",
      "tree": "2e4d490fae6490e6f5bf810c794aa1192a78180c",
      "parents": [
        "bddad354b8dd768a7b883b12ca7274b04ce05bc6"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 23 15:17:11 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu May 01 06:49:22 2025 +0000"
      },
      "message": "treewide: remove \"v\" prefix from versions\n\nA semantic version does not have a \"v\" prefix.\nhttps://semver.org/#is-v123-a-semantic-version\n\nChange-Id: I95aa2014ba3330d33428e57e5f354eabfe6d1423\nReviewed-on: https://review.monogon.dev/c/monogon/+/4170\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "bddad354b8dd768a7b883b12ca7274b04ce05bc6",
      "tree": "54906615cc7d434703b729784eda51a61c77b51b",
      "parents": [
        "10670e58174de17d42ecfe77e45f9826df8a6c74"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 23 14:55:26 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu May 01 06:49:22 2025 +0000"
      },
      "message": "treewide: fix nostamp\n\nPreviously, --nostamp did not disable all stamping with commit info,\nwhich meant that metropolis e2e tests ran on CI even if no change was\nmade to metropolis code. Now, --config:nostamp does this properly.\n\nThe Bazel --nostamp flag is supposed to disable stamping. Ideally, this\nmeans that the workspace status script is not executed. But we can\u0027t do\nthat because the metropolis version is required (e.g. for compatibility\nchecks), and we currently obtain the version from git tags. Another\noption is to check whether the --nostamp flag is set in the status\nscript, and omit any git commit info in this case. But I didn\u0027t find a\nway to access the --nostamp flag from the status script, so instead, the\n--config:nostamp flag is introduced and replaces --nostamp.\n\nVersions without git info are marked with a \"-nostamp\" suffix.\nI adjusted //version to handle this case.\n\nChange-Id: I34e1b59b908074e8d4234013358b6be41899570a\nReviewed-on: https://review.monogon.dev/c/monogon/+/4169\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "10670e58174de17d42ecfe77e45f9826df8a6c74",
      "tree": "60bdeb81a03af09ad57632a818608c6aa1b0a8bd",
      "parents": [
        "0cbf51a530ff05eaacadb12c4cc977c24a0f0fb0"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 23 12:54:48 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu May 01 06:49:22 2025 +0000"
      },
      "message": "treewide: dynamically generate copyright line\n\nA copyright line with hardcoded year was shown in various places of the\nUI. Instead, take the year from the commit date.\n\nChange-Id: I424d6c5b3aff34fe4479c37f30f9ea280b7eb4af\nReviewed-on: https://review.monogon.dev/c/monogon/+/4168\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "0cbf51a530ff05eaacadb12c4cc977c24a0f0fb0",
      "tree": "fd14354e8ba64d68489f1f4b0116696baf5ee57f",
      "parents": [
        "4cfff958acf023e190191a2842103897201c4dad"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 23 10:21:17 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu May 01 06:49:22 2025 +0000"
      },
      "message": "m/n/k/hyperkube: avoid unnecessary rebuilds\n\nPreviously, hyperkube was rebuilt each time a commit was made in the\nmonorepo. This change stops this by reading the variables from a\nfiltered stamp file instead. Now, only this filtered file is rebuilt\neach time, which is very fast compared to linking hyperkube.\n\nPreviously, volatile status variables were used for gitTreeState and\nbuildDate. But the volatile status is bad for reproducibility, as it\nmakes Bazel intentionally use stale caches.  Instead, these variables\nare now only defined in release builds, and left unstamped during\ndevelopment. These variables are available at the /version endpoint of\nthe apiserver, so there may be some utility in defining them for release\nbuilds, but they are not needed during development.\n\nThe buildDate is now taken from the commit date instead of\nSOURCE_DATE_EPOCH, which simplifies the build process as we don\u0027t need\nto define that variable anymore.\n\nPreviously, KUBERNETES_gitCommit was referenced but not defined by the\nstatus script. It is now defined as the monorepo commit, which is more\nuseful than leaving it blank.\n\nChange-Id: I6228888507e400ca1f53167ee9d4f132f5711a45\nReviewed-on: https://review.monogon.dev/c/monogon/+/4167\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "4cfff958acf023e190191a2842103897201c4dad",
      "tree": "fcfce746a89ec85fc47ab4c2901ca43dbdc78142",
      "parents": [
        "e269ebf50c81807a8bac8b274590c6441bb84ca9"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 23 10:05:39 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu May 01 06:49:22 2025 +0000"
      },
      "message": "build: add support for filtered stamp file\n\nThe stable status file changes whenever a commit is made, which triggers\nunnecessary rebuilds of targets which are only stamped with variables\nwhich change less often. My idea for fixing this is to create a filtered\nstamp file with only the variables which change less often, and then\nmake targets depend on this more stable stamp file instead of the stable\nstatus file.\n\nThis change adds a Bazel rule for generating such a filtered stamp file,\nand a patch for rules_go which allows using the filtered file in x_defs.\n\nChange-Id: I1a98babeb0cc5edeac6a90c655117305c499f744\nReviewed-on: https://review.monogon.dev/c/monogon/+/4166\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "e269ebf50c81807a8bac8b274590c6441bb84ca9",
      "tree": "f68b09d5f9c7d694fe1798b5710407739075bc0c",
      "parents": [
        "b03d9ff5795fc23bf436089ce40ece0d846d0610"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 23 09:52:49 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu May 01 06:49:22 2025 +0000"
      },
      "message": "m/node/core/abloader: avoid unnecessary rebuilds\n\nPreviously, the abloader was rebuilt each time the stable status file\nchanged, even though the abloader contains no stamped info.\n\nChange-Id: I8b36357082e3be8b241759e30b0d0d8be4613379\nReviewed-on: https://review.monogon.dev/c/monogon/+/4165\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "b03d9ff5795fc23bf436089ce40ece0d846d0610",
      "tree": "88024534a7d50454121fe7ed65f57164660eb56e",
      "parents": [
        "219c2c68a75f0de70d6cbaf5f6be55d5bf32378f"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 02 15:04:03 2025 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 30 21:40:21 2025 +0000"
      },
      "message": "treewide: move HostInterfaceMAC to a tracked duplicate var\n\nThis is required to not accidentally pull-in future qemu runfiles.\n\nChange-Id: I6098900d047f21096c0b1f6b2176d2480f8e6ab0\nReviewed-on: https://review.monogon.dev/c/monogon/+/4054\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "219c2c68a75f0de70d6cbaf5f6be55d5bf32378f",
      "tree": "fd1040c7e82e6a4243b72ed50f5e8b7e30a88bf3",
      "parents": [
        "778cc33e311ab1578b3e1447c10b7d40612a774e"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 30 08:14:25 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 30 10:17:21 2025 +0000"
      },
      "message": "build/toolchain/protobuf: fix duplicate protoc build\n\nWe were building way too many copies of protoc. Many of these are due to\na bug in rules_go when --incompatible_enable_proto_toolchain_resolution\nis enabled, but not all, so we should do this anyway, and then the bug\nin rules_go is no longer relevant.\n\nBefore:\nbazel cquery \"deps(//...) intersect @protobuf//:protoc\"\n@protobuf//:protoc (e5c4511)\n@protobuf//:protoc (40d0309)\n@protobuf//:protoc (3bbe29a)\n@protobuf//:protoc (070fbf5)\n@protobuf//:protoc (ee343a7)\n@protobuf//:protoc (c3e4ff6)\n\nAfter:\nbazel cquery \"deps(//... except //build/toolchain/protobuf/...) intersect @protobuf//:protoc\"\n@protobuf//:protoc (ee343a7)\n\nChange-Id: I6a826b7bc01453284982204aea808f8f2902d84c\nReviewed-on: https://review.monogon.dev/c/monogon/+/4164\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "778cc33e311ab1578b3e1447c10b7d40612a774e",
      "tree": "78e166c6522ab612967f0cf9cde7d4318808873e",
      "parents": [
        "1b6cd6feb2ea0ee9940e59ec787803dae0071b22"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 16:31:40 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 30 10:17:21 2025 +0000"
      },
      "message": "m/n/c/abloader: fix duplicate build\n\nPreviously, the abloader was built twice with different\n@io_bazel_rules_go//go/config:static setting.\n\nChange-Id: I41ebac22613b895fe85f14367bdf0f31c817cafe\nReviewed-on: https://review.monogon.dev/c/monogon/+/4163\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "1b6cd6feb2ea0ee9940e59ec787803dae0071b22",
      "tree": "8fd33a9dd8da12a7524bb24fceef24350663d603",
      "parents": [
        "8ffa54e80544005e0f779c681a8c9dfc6afecfa7"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 15:30:22 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 30 10:17:21 2025 +0000"
      },
      "message": "treewide: replace platform_transition_binary\n\nplatform_transition_binary changes the platform, but does not set\n@io_bazel_rules_go//go/config:static. Instead, build_static_transition\nis now used, which sets both.\n\nA second benefit of this change is that we have fewer places where the\namd64 architecture is mentioned, which should make it easier to enable\nmulti-platform builds.\n\nChange-Id: Id01e0d942a12770b8b34b0e6825f314128149b40\nReviewed-on: https://review.monogon.dev/c/monogon/+/4162\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "8ffa54e80544005e0f779c681a8c9dfc6afecfa7",
      "tree": "526e5805d5ea05fb34d79daf00b8d6b13b28d4ce",
      "parents": [
        "0fd36f458729a67e4daf68a430ce3a79428a05e9"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 11:33:39 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 13:11:33 2025 +0000"
      },
      "message": "osbase/build: ignore race setting in kernel build\n\nThis makes the kernel config the same between builds with and without\nrace. This should speed up CI when the kernel needs building.\n\nBefore:\nbazel cquery \"deps(//...) intersect //osbase/test/ktest:linux-testing\"\n//osbase/test/ktest:linux-testing (090513b)\nbazel cquery --config race \"deps(//...) intersect //osbase/test/ktest:linux-testing\"\n//osbase/test/ktest:linux-testing (b7a4847)\n\nAfter:\nbazel cquery --config race \"deps(//...) intersect //osbase/test/ktest:linux-testing\"\n//osbase/test/ktest:linux-testing (090513b)\n\nChange-Id: Idf9d9503c07053cc34edfe855fb7042d28655683\nReviewed-on: https://review.monogon.dev/c/monogon/+/4159\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "0fd36f458729a67e4daf68a430ce3a79428a05e9",
      "tree": "dae4bd858448b6a72daeab0cbeb177da802aff11",
      "parents": [
        "7c38e7845bad04db14031741e879e887e2f571b5"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 10:26:03 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 13:11:33 2025 +0000"
      },
      "message": "treewide: enable pure Go by default\n\nPure can be safely enabled by default. For those targets which need cgo,\nwe can set `pure \u003d \"off\"` on the go_binary or go_test.\n\nThis simplifies transitions, and makes the files/files_cc distinction\nobsolete.\n\nChange-Id: Ic1a985e7d347a7222f55735c1ee2016e8a7e1c65\nReviewed-on: https://review.monogon.dev/c/monogon/+/4158\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "7c38e7845bad04db14031741e879e887e2f571b5",
      "tree": "8481308f7280a6153de818497d11f0c9614baeeb",
      "parents": [
        "dc97912eb162144d7bd92509ad8f064a8cf98ecb"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 09:23:37 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 13:11:33 2025 +0000"
      },
      "message": "treewide: replace go_binary_with_tag\n\nInstead of using go_binary_with_tag, we can write a go_binary rule which\nembeds the library. Then we can easily change all the Go configs, not\njust tags.\n\nBy default, Gazelle generates the libraries for a go_binary with private\nvisibility, so we need to override it to pulic. The go_binary_with_tag\nrule had the additional feature of combining the specified tags with the\nincoming ones (osusergo, netgo); instead I added those manually.\n\nChange-Id: I23965176f87e3a0bbd18ba5a72f190e4f9047363\nReviewed-on: https://review.monogon.dev/c/monogon/+/4157\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "dc97912eb162144d7bd92509ad8f064a8cf98ecb",
      "tree": "6b0e61c39634423babbdbb51f7c1e1d11a66c33a",
      "parents": [
        "62cecde6415032da48f05a178c8e9e9721dab9c2"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 16 16:27:43 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 06:55:58 2025 +0000"
      },
      "message": "metropolis/handbook: update for new OS image format\n\nThis updates the instructions for setting up a demo cluster. We don\u0027t\nhave recent release build, so I changed the instructions to building it\nyourself for now. This way, we don\u0027t need to provide the image as an\nargument to install, because it will be taken from runfiles. The\nprevious instructions didn\u0027t work anyway because the --installer flag\nwas missing, which is now also provided by runfiles.\n\nChange-Id: Ie98cd5a1ab097623b4258ddfaedd2a64bcaefb67\nReviewed-on: https://review.monogon.dev/c/monogon/+/4124\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "62cecde6415032da48f05a178c8e9e9721dab9c2",
      "tree": "47617bd0bcaaf31a45eb085d946ad24db34b4f48",
      "parents": [
        "82e8a57d0d715b9e0479000b18f50aafc63ac58a"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Apr 16 15:24:04 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Tue Apr 29 06:55:58 2025 +0000"
      },
      "message": "metropolis: use new OS image format for updates\n\nThis switches the node update implementation to the new OS image format\nbased on OCI artifacts. Updates are now fetched from an OCI registry.\n\nTo update existing clusters, build //metropolis/node:bundle in the new\nversion, then run the update command of the old version of metroctl with\nthis bundle. Once a node is updated, it only accepts updates in the\nnew format. It is possible to rollback if needed by building\n//metropolis/node:oci_image in the old version and using the new version\nof metroctl.\n\nThe node bundle target is no longer referenced anywhere, and will be\nremoved soon.\n\nChange-Id: I00ac6d0d88e379259cea52c8a106204c5eb73fe7\nReviewed-on: https://review.monogon.dev/c/monogon/+/4123\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    }
  ],
  "next": "82e8a57d0d715b9e0479000b18f50aafc63ac58a"
}
