)]}'
{
  "log": [
    {
      "commit": "9739a4f0d1a48cbc4e9f6092d3bd471e833bb8c0",
      "tree": "a0d1048b3a37d0050b0ff5aba250435c039d29be",
      "parents": [
        "30021af6eaf9f2963d83314c283ebdd23fff2674"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jun 20 13:40:21 2023 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jun 20 14:19:47 2023 +0000"
      },
      "message": "build: add cgo to nogo exceptions\n\nSeems like cgo is placing some files in a separate directory in the\nworkspace root.\n\nChange-Id: Icd94dec7281350339f0b1dd88d61556d75982d64\nReviewed-on: https://review.monogon.dev/c/monogon/+/1836\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "0b3aac94581f63b3024b261fa6a9f298d0cca52b",
      "tree": "5d08ccdc172f131c99b7acaabb108d2d4d4ce53b",
      "parents": [
        "cf33f6805a7842a1aa7fac377468d9ca54f8d05b"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Mar 16 16:49:56 2023 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Mar 20 11:23:46 2023 +0000"
      },
      "message": "g/a/toposort: add topological sorting pkg\n\nThis adds a package which implements topological sorting.\nThere are existing Go packages out there which do this, but all of\nthem have various shortcomings, either in the API or in\nperformance or stability.\n\nThis uses a fairly simple DFS-based algorithm for doing the majority\nof the work. It uses generics for the nodes to allow for flexibility and\nis covered by a fuzz test to check for correctness.\n\nChange-Id: I4ae3f0b97ef801350b87cdae3a3d9a1ba63830e3\nReviewed-on: https://review.monogon.dev/c/monogon/+/1351\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "1cf17953163089f6b90d0922bff0994e06c95e29",
      "tree": "cfcef14d8530761d9b0a18adf266262898ede7c6",
      "parents": [
        "d026b37c2a27d414821f860ccd0effb522be1ce4"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Feb 13 17:41:59 2023 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Feb 14 10:03:25 2023 +0000"
      },
      "message": "pkg/bootparam: add bootparam pkg\n\nThis adds the bootparam package which can marshal and unmarshal the Linux\nkernel command line into boot parameters and a rest section passed to\ninit.\n\nThis is a very quirky format, thus there is a fuzz testing harness\nagainst the reference implementation from the kernel included to verify\ncorrectness.\n\nA set of weird edge cases is rejected by Unmarshal instead of parsing\nto nonsensical data as the reference implementation does to save on\ncomplexity in the parser.\n\nChange-Id: I6debfa67e69ae8db4e0356f34ecb127ea27d18de\nReviewed-on: https://review.monogon.dev/c/monogon/+/1125\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "46e72abb01d6bd4b39fd720680602bd6914e545a",
      "tree": "6b5b740ecc003b62db432f5b2b6b13a88dcb3c8a",
      "parents": [
        "bd2ce6dcffa271d8ef00bceda1a89fc34d1d0f3d"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Mon Sep 05 15:13:22 2022 +0200"
      },
      "committer": {
        "name": "Sergiusz Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Sep 07 13:44:24 2022 +0000"
      },
      "message": "third_party: add libpg_query and sqlc\n\nThis adds sqlc, a SQL query code generator for Go (and other languages).\nIt in turn requires pganalyze\u0027s libpg_query, which is a C library for\nparsing PostgreSQL queries.\n\nTo test:\n\n   $ bazel build @com_github_kyleconroy_sqlc//cmd/sqlc\n\nIn the future this will be used by Bazel rules to generate sources at\nbuild time.\n\nChange-Id: I369c9ab503e8ce6952fd3f73c233dd3d59922358\nReviewed-on: https://review.monogon.dev/c/monogon/+/882\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "d13c1c64387ca9a83bb832a3faa5c4b07268d265",
      "tree": "0c0f534db4726e4400486aad25235e8c573d455e",
      "parents": [
        "79a1a8f9dd49afe8e0a2364c4586b8f39525b204"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Mar 30 19:58:58 2022 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Apr 05 10:35:29 2022 +0000"
      },
      "message": "treewide: switch to gomod and bump everything\n\nThis switches version resolution from fietsje to gomod and updates\nall Go dependencies. It also bumps rules_go (required by gVisor) and\nswitches the Gazelle naming convention from go_default_xxx to the\nstandard Bazel convention of the default target having the package\nname.\n\nSince Kubernetes dropped upstream Bazel support and doesn\u0027t check in\nall generated files I manually pregenerated the OpenAPI spec. This\nshould be fixed, but because of the already-huge scope of this CL\nand the rebase complexity this is not in here.\n\nChange-Id: Iec8ea613d06946882426c2f9fad5bda7e8aaf833\nReviewed-on: https://review.monogon.dev/c/monogon/+/639\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\nReviewed-by: Leopold Schabel \u003cleo@nexantic.com\u003e\n"
    },
    {
      "commit": "13050ef7ba39455bd519971221a332eb5c0fcbd6",
      "tree": "f7ffc3a53832a5254dea1ee02f3d39532707690a",
      "parents": [
        "8bd2ab16d14200774009f96ed94f83edf6ea1094"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Fri Dec 17 17:33:20 2021 +0100"
      },
      "committer": {
        "name": "Sergiusz Bazanski",
        "email": "serge@monogon.tech",
        "time": "Mon Dec 20 16:31:30 2021 +0000"
      },
      "message": "build/analysis: enable importsort, reformat\n\nChange-Id: I64fd8803264138e02d016d4751bc23bc56a02521\nReviewed-on: https://review.monogon.dev/c/monogon/+/495\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nReviewed-by: Mateusz Zalega \u003cmateusz@monogon.tech\u003e\nReviewed-by: Leopold Schabel \u003cleo@nexantic.com\u003e\n"
    },
    {
      "commit": "8bd2ab16d14200774009f96ed94f83edf6ea1094",
      "tree": "1ad5f5de274c14b340c0bbc2ec2af7b4ef770532",
      "parents": [
        "144b786814f203ed2f2f9a4edfc30cefc5d8dd7c"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Fri Dec 17 17:32:16 2021 +0100"
      },
      "committer": {
        "name": "Sergiusz Bazanski",
        "email": "serge@monogon.tech",
        "time": "Mon Dec 20 16:31:30 2021 +0000"
      },
      "message": "build/analysis/importsort: init\n\nThis adds an analyzer which enforces import sorting as per\nCODING_STANDARDS.md. It is not yet enabled in nogo.\n\nThis effectively duplicates some logic that is present in goimports.\nHowever, that logic is mostly within an \u0027internal\u0027 package in x/tools,\nand would be somewhat tricky to make work within the framework of an\nanalysis.Analyser (as it expects to also mutate a file). Thus, we\nend up writing the analysis logic ourselves. Tests are provided to make\nsure this logic doesn\u0027t rot away.\n\nWe also move some common logic from \u0027noioutil\u0027 to a new \u0027lib\u0027 package,\nand implement the last piece of the puzzle there: a code generator to\nprovide information about the toolchain\u0027s stdlib as a map/set.\n\nChange-Id: Ia0f32d6f9122e13117d18ae781d8255c6e3a887d\nReviewed-on: https://review.monogon.dev/c/monogon/+/494\nReviewed-by: Leopold Schabel \u003cleo@nexantic.com\u003e\n"
    },
    {
      "commit": "dcfc6787c736ae3461138224a33c5d5c560df2ff",
      "tree": "5ce2f2719c320e0f77aa5c667ed8221e27a39ca2",
      "parents": [
        "43e2107d9b76e8c1df0974c3125878ca64f2bb61"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Nov 30 05:27:48 2021 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Nov 30 19:38:46 2021 +0000"
      },
      "message": "build/proto_docs: add proto documentation generator\n\nThis adds an HTML documentation generator for our Protobuf files.\nIt consists of a new Bazel rule `proto_docs` which wraps protoc-gen-doc.\nprotoc-gen-doc itself and go-proto-validator which it includes need\nsome light patching because of dumbness in the Go Proto ecosystem that\ndoesn\u0027t exist in our Bazel build.\n\nThis just hooks up everything, it does not yet do anything custom like\nannotating our own authorization metadata or similar.\n\nChange-Id: If6fd7c777210fea700e49242b5339cfafe7c030d\nReviewed-on: https://review.monogon.dev/c/monogon/+/452\nReviewed-by: Leopold Schabel \u003cleo@nexantic.com\u003e\n"
    },
    {
      "commit": "cb2dcf6c3ffa2d50293faa1708fad975ea237afa",
      "tree": "0dd4505eb664795cbe688da03228ebf1ab4f3637",
      "parents": [
        "764a2de7911a42d57720911332a12895f0aad707"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Nov 22 22:57:34 2021 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Nov 23 09:18:53 2021 +0000"
      },
      "message": "b/a/noioutil: add an analyzer prohibiting use of ioutil\n\nThe ioutil package is deprecated and a tree-wide migration was already\ndone. This analyzer ensures that there can be no users of this package\nin the future.\n\nChange-Id: Ica6cd01ce5cb919d6f236225deeaff70b8e2800b\nReviewed-on: https://review.monogon.dev/c/monogon/+/451\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "c2e3b1b7f29708fa136e9195645b31fce530c1f0",
      "tree": "94d45711f78c1c1cc859e251519838350ce91938",
      "parents": [
        "44d2ad428573bb20ee6be4b957b1abbacad50fcb"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Nov 11 11:06:41 2021 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Nov 16 12:47:21 2021 +0000"
      },
      "message": "WORKSPACE: bump rules_go go 0.29 and Go to 1.17.1\n\nThe changes to nogo are from rules_go being able to use go_library\ntargets as part toolchain definitions. gVisor needed to be bumped\nto be compatible with Go 1.17. It also needs a fix for us not having\nthe systemd cgroup controller.\n\nChange-Id: I058b5c68d97809a286fbe36df00e49e55874dfd5\nReviewed-on: https://review.monogon.dev/c/monogon/+/438\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "216fe7b3ae949376467f626f339423a31ea7da97",
      "tree": "b0fe587b671a76bf6229339825d2a61df7fc847b",
      "parents": [
        "6ebdc418f3c4799c12368e34ea78dc9c9757fb54"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@nexantic.com",
        "time": "Fri May 21 18:36:16 2021 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@nexantic.com",
        "time": "Fri May 28 17:54:03 2021 +0200"
      },
      "message": "*: reflow comments to 80 characters\n\nThis reformats the entire Metropolis codebase to have comments no longer\nthan 80 characters, implementing CR/66.\n\nThis has been done half manually, as we don\u0027t have a good integration\nbetween commentwrap/Bazel, but that can be implemented if we decide to\ngo for this tool/limit.\n\nChange-Id: If1fff0b093ef806f5dc00551c11506e8290379d0\n"
    },
    {
      "commit": "6ebdc418f3c4799c12368e34ea78dc9c9757fb54",
      "tree": "55dcecf2fda5b992c703dea87ef2cea495f6ffe0",
      "parents": [
        "67483ded56f26ced15581d7a87314d776cf5ecb0"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@nexantic.com",
        "time": "Fri May 21 16:25:55 2021 +0200"
      },
      "committer": {
        "name": "Sergiusz Bazanski",
        "email": "serge@nexantic.com",
        "time": "Fri May 28 15:53:36 2021 +0000"
      },
      "message": "RFC: build/analysis: add commentwrap\n\nThis adds a Go analyzer which limits the length of comment lines to 80\ncharacters.\n\nRationale:\n\nMonogon currently follows gofmt style. Gofmt in itself is already quite\nopinionated, but one thing it explicitly does not check for is maximum\nline length.\n\nThis implements a limit for the maximum length of a comment line in Go\nsource within Monogon. It explicitly does not limit code line length, as\nthese can be handled much more easily by soft reflows.\n\nThe tool used, github.com/corverroos/commentwrap, will now be\nautomatically ran by our nogo pass, and prevent any line of commnets\nwithin Go to be longer than 80 characters, with the exception of:\n\n - cgo/generate directives\n - TODOs\n - indented comments (eg. sample code or long URLs)\n\nDownsides:\n\n1. We have to reformat the entire codebase. CR/67 does this.\n\n2. We end up with a bulk Git commit that will pollute Git history. A\n   followup CR attempts to resolve this by using Git\u0027s ignoreRevsFile\n   functionality.\n\n3. There\u0027s currently no integration with IntelliJ and no way to\n   automatically reformat code. If this RFC gets approved, a follow up\n   CR will be created that adds integration/automation to make this\n   easier to work against.\n\nOpen questions:\n\n1. Is 80 characters the right limit? I, personally, quite like it, but\n   am willing to compromise on line length.\n\nChange-Id: I063d64596ca5ef038a8426c6b9f806b65c18451e\nReviewed-on: https://review.monogon.dev/c/monogon/+/66\nReviewed-by: Leopold Schabel \u003cleo@nexantic.com\u003e\n"
    },
    {
      "commit": "0ef9629ffd82027c5dbff11f3530b86136636597",
      "tree": "b28ac6ae9aff11c0fdbdf6e50d75d2d8b830dd76",
      "parents": [
        "bd0d24e1fda0ee0cd8231d25eff499894226e04d"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@nexantic.com",
        "time": "Fri May 21 15:41:32 2021 +0200"
      },
      "committer": {
        "name": "Sergiusz Bazanski",
        "email": "serge@nexantic.com",
        "time": "Tue May 25 09:52:53 2021 +0000"
      },
      "message": "build/analysis: move nogo configuration\n\nThis moves the nogo config JSON file from the root of the repository,\nand cleans up the BUILD file in preparation for adding extra, possibly\ncustom, analyzers.\n\nChange-Id: Id85c9cd8515b9178712329fe425c1e1740f04d8b\nReviewed-on: https://review.monogon.dev/c/monogon/+/65\nReviewed-by: Leopold Schabel \u003cleo@nexantic.com\u003e\n"
    }
  ]
}
