)]}'
{
  "log": [
    {
      "commit": "57da5c9338fe381e5ac7e9411ce003ac4d7d05f0",
      "tree": "8bacd590767766444739824ec6beca9a6c006dfb",
      "parents": [
        "b1f5be22e6451d7fefe7b850c20d7f6b52073aa7"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jun 14 07:24:41 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jun 14 07:26:06 2020 +0200"
      },
      "message": "Load the shadow DOM of edit forms lazily.\n\nLoads the shadow DOM of an edit form only when it is shown on the\nscreen (that is when the user clicks the corresponding Edit button).\nThis keeps the DOM as small as possible at any given point in time.\n\nChange-Id: Icc1f43bfb54bd303a7182a02515c72522068415a\n"
    },
    {
      "commit": "b1f5be22e6451d7fefe7b850c20d7f6b52073aa7",
      "tree": "d24bffeece1e0a31f6ddb76b5abda5d9688e5754",
      "parents": [
        "60c0892466c8e48faba3e7bbe2b462c47aa032fa"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jun 14 07:24:01 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jun 14 07:24:01 2020 +0200"
      },
      "message": "Make ESLint happy.\n\nChange-Id: I3a8cd7a72467e5f1cdef1d3383f8c5b9f6bb27e7\n"
    },
    {
      "commit": "60c0892466c8e48faba3e7bbe2b462c47aa032fa",
      "tree": "9c64db24cfac03a62ef97a881d8cb6ba2737145c",
      "parents": [
        "80fc431853a7105b2f1921de61d06f0fbd0cc51a"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jun 13 19:22:25 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jun 13 19:22:25 2020 +0200"
      },
      "message": "Benki: Cache HTML renderings of posts in the database.\n\nChange-Id: I3367ceb8769d354f64165d23ec7ed1f2155c4c49\n"
    },
    {
      "commit": "80fc431853a7105b2f1921de61d06f0fbd0cc51a",
      "tree": "d1ebb6a66ea55843a55e5b806ef94d468cf614a6",
      "parents": [
        "a0392374957b6ad8d49816916576558cce639c22"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jun 13 16:59:04 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jun 13 16:59:04 2020 +0200"
      },
      "message": "Add Liquibase.\n\nChange-Id: I95f2e630f03bcf08c5a8fb2dfba80021da350c75\n"
    },
    {
      "commit": "43b20299733144766c49e04f0c3558e1e28364e3",
      "tree": "cb021aee34c1b37b231437ac5e18b25abd2b90fe",
      "parents": [
        "1fdf09bb7ec5570a42c84c54262e666c6503e269"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat May 02 17:01:49 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat May 02 17:11:47 2020 +0200"
      },
      "message": "Feed: Add alternate links to every post.\n\nChange-Id: I2abbccabe3d53b6efade8266e11ccc9071cc1a46\n"
    },
    {
      "commit": "e2a920026c2185f002287e1194436dd3fc438648",
      "tree": "0d6446b7d35a13193115099e754eecdc84f68f56",
      "parents": [
        "8001abb0147f7b976b1f46151f3ffbd3888a46e1"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat May 02 16:44:34 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat May 02 16:45:06 2020 +0200"
      },
      "message": "Feed: Add generated titles to lazy chat messages.\n\nChange-Id: I691cbc0a1440960a5dc8a46863d7291927ff3390\n"
    },
    {
      "commit": "8001abb0147f7b976b1f46151f3ffbd3888a46e1",
      "tree": "5bea6c852890ee5685f4217df7927d91b139c01e",
      "parents": [
        "0a739446a6d2042b3f07a864cf38c511e03df852"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat May 02 16:34:01 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat May 02 16:34:01 2020 +0200"
      },
      "message": "URL-encode URI fields in the news feed.\n\nChange-Id: I69ff4dfea602f17dbbdbd72366c7647aba00e105\n"
    },
    {
      "commit": "ad76d62a2656602cb6969b17cc35cfdfc4ff208c",
      "tree": "4f3ceeb6b47a012205d72baa119bfed95925a925",
      "parents": [
        "8040689b6a96f38c03b703386466128f4df5b762"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Apr 27 08:08:17 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Apr 27 08:08:17 2020 +0200"
      },
      "message": "Post list: Load JavaScript modules only if editing is enabled.\n\nChange-Id: Ia6a41427866428da6bd57593c57173ad88f990f5\n"
    },
    {
      "commit": "8040689b6a96f38c03b703386466128f4df5b762",
      "tree": "ab038cc73a80c3b1e4c846e24ebde0805f87af73",
      "parents": [
        "369e698b0761a0c0abb460e92d680ae441374422"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Apr 26 18:41:39 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Apr 26 19:25:30 2020 +0200"
      },
      "message": "KB54 Use bookmark Emoji for bookmarks, give title font normal weight.\n\nChange-Id: Id069e3392ee136b7d7b4291b35ad871a88b08732\n"
    },
    {
      "commit": "369e698b0761a0c0abb460e92d680ae441374422",
      "tree": "e1fb9358f85fe07bf28fcea8923dafb573d6aca3",
      "parents": [
        "b3ff7ac842c385bb7c1a99d794a0c57830f58ea7"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Apr 26 13:14:21 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Apr 26 18:38:45 2020 +0200"
      },
      "message": "KB54 Group posts by date, use floating to make style sheet even more compact.\n\nChange-Id: I41346eb51481d4c2c4e7066373fba5b7073e3e4f\n"
    },
    {
      "commit": "b3ff7ac842c385bb7c1a99d794a0c57830f58ea7",
      "tree": "6935df43d907bb05de06e6ab85a1d0fda216503f",
      "parents": [
        "1c2a8a70eed63a6b59dde22bdcb1d029e8485089"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Apr 26 06:28:06 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Apr 26 06:34:08 2020 +0200"
      },
      "message": "KB54 Make web style sheet more compact.\n\nChange-Id: I673550eb8bf129469573e2744340e216d740c258\n"
    },
    {
      "commit": "1c2a8a70eed63a6b59dde22bdcb1d029e8485089",
      "tree": "c3df25d8f9ff64daaeb27b19530eb13fc9e0b6b3",
      "parents": [
        "95d29a00d3f37d64f5256cea4e7308f5a975c86c"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Apr 26 06:09:57 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Apr 26 06:12:43 2020 +0200"
      },
      "message": "KB54 Put posts in date buckets for templating.\n\nChange-Id: Ic17b2dede722f5962a55b9c4d3b4663a71480e9c\n"
    },
    {
      "commit": "24319ba0be3e14d8ad8f7eb6713dcfa219fad156",
      "tree": "6349846eb993a6e670f7f889c5b24ffeb76298cc",
      "parents": [
        "df7485c82a9b4c525b7fa0f30731cd2882b3d189"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Apr 24 06:18:14 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Apr 24 06:18:14 2020 +0200"
      },
      "message": "Use OpenJ9 instead of HotSpot.\n\nChange-Id: I540ab722070dc73efb720d989493233551b8d689\n"
    },
    {
      "commit": "bbac0c7d90986f95e93a473c7228021ab726e464",
      "tree": "6a5807e3c026017ad1f8e37f492b415a65ee3f31",
      "parents": [
        "3c4911e9a87702fcf199d410a5502775b02e9947"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Apr 19 19:38:49 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Apr 19 19:56:20 2020 +0200"
      },
      "message": "KB53 Support bookmark edition.\n\nChange-Id: Ieacbb5c448b9afa4bc9524167e0c73618de6db48\n"
    },
    {
      "commit": "3c4911e9a87702fcf199d410a5502775b02e9947",
      "tree": "c4ffd10cf0c3ab1d5ec3995e92c3b464dc923879",
      "parents": [
        "c5b99755e529bb3e5de04584115598e81a23eeb9"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Apr 19 18:53:20 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Apr 19 18:53:20 2020 +0200"
      },
      "message": "PostResource: Rearrange methods.\n\nChange-Id: I1066712c9230688e672a84fc2cfe03e91f88e3a1\n"
    },
    {
      "commit": "c5b99755e529bb3e5de04584115598e81a23eeb9",
      "tree": "4b4d9cdf0de46f54b914d8f8135f096e0d113638",
      "parents": [
        "cf0fe88a5f1b0c53fb84b016128878db329141fc"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Apr 19 18:43:15 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Apr 19 18:43:15 2020 +0200"
      },
      "message": "KB49 Vary feed URI based on resource type rendered.\n\nChange-Id: I02025bc5ce86aa6cda1b083c7a542cefb561c25d\n"
    },
    {
      "commit": "cf0fe88a5f1b0c53fb84b016128878db329141fc",
      "tree": "49d2a25fb621ecc7a269c01adbdd541734172b69",
      "parents": [
        "593765de7fbd38c44f514363d0f3e0d4e82e6523"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Apr 19 18:33:37 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Apr 19 18:33:37 2020 +0200"
      },
      "message": "KB49 Add private news feeds.\n\nChange-Id: Ib9488351b9734795e02ddaeb26aa81eeb79c0b4d\n"
    },
    {
      "commit": "593765de7fbd38c44f514363d0f3e0d4e82e6523",
      "tree": "79535b55a6d7df3d50ae2426a2183b27501ed214",
      "parents": [
        "1e7674cf4880e21b24442c01914c2bcf9c00cb7b"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Apr 18 20:44:07 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Apr 18 20:44:07 2020 +0200"
      },
      "message": "Fix problems found by static analysis.\n\nChange-Id: I02c51279f18f629b2d2fb1095692a6ae98b0e25e\n"
    },
    {
      "commit": "1e7674cf4880e21b24442c01914c2bcf9c00cb7b",
      "tree": "cd6909813d3118131717c152c542513503764ea7",
      "parents": [
        "98e63f0244dfd9e90d4888f86ccad59c0dc3996c"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Apr 18 20:28:51 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Apr 18 20:28:51 2020 +0200"
      },
      "message": "Add nullability constraints everywhere.\n\nChange-Id: I80577b7784006070f29ce11af4e6fd87c10363bf\n"
    },
    {
      "commit": "695427b3c99fad50cb6386c0111dd2f0bb0ca9fe",
      "tree": "02e69f31fd1cd9b54e3ef48532bae83e0c725c2d",
      "parents": [
        "09914e3fe1fbb3cd6c5227c0ea93b77cae43ca05"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Apr 18 15:55:44 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Apr 18 15:55:54 2020 +0200"
      },
      "message": "KB51 Add post links.\n\nChange-Id: I429aadcc71212a9bfb90c812e108e55c51672ba9\n"
    },
    {
      "commit": "09914e3fe1fbb3cd6c5227c0ea93b77cae43ca05",
      "tree": "184be057803a57ba13525b1f0270ed30555a0a61",
      "parents": [
        "b6081275edefe500b8dd8b5239e7ab3dd7d633a2"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Apr 18 15:52:05 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Apr 18 15:52:05 2020 +0200"
      },
      "message": "Fix feed links.\n\nChange-Id: I1c04bdbbef852b65a23375d6725714bbc06b95e8\n"
    },
    {
      "commit": "b6081275edefe500b8dd8b5239e7ab3dd7d633a2",
      "tree": "68cbdedee388a238d906484a20dd572eeb4accbf",
      "parents": [
        "6cfe16b3bf3e5c576956f4cb9d9b5d8a30cc1e87"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Apr 18 15:48:04 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Apr 18 15:48:04 2020 +0200"
      },
      "message": "KB51 Add handler for post links.\n\nChange-Id: Icb36da42fcf085ec541ba70c1421e8635d295974\n"
    },
    {
      "commit": "6cfe16b3bf3e5c576956f4cb9d9b5d8a30cc1e87",
      "tree": "c30a838a631cae23f85e9a77df9da3986bafc219",
      "parents": [
        "ca4d7942f23d67f538b470b93a9dd0ffecee5f00"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Apr 18 15:36:04 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Apr 18 15:38:17 2020 +0200"
      },
      "message": "KB51 Promote LazychatResource#getMessage \u003d\u003e PostResource#getPost, handle null login.\n\nChange-Id: I31601b00f1d72ec2282b6f6deedf971644b93a15\n"
    },
    {
      "commit": "ca4d7942f23d67f538b470b93a9dd0ffecee5f00",
      "tree": "c55b3b1b2d53a5424344a8069436d17cd503f26a",
      "parents": [
        "5794b9062d1dd94415757c2236bdfc766921f97f"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Apr 18 14:13:41 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Apr 18 14:13:41 2020 +0200"
      },
      "message": "KB46 Post#queryViewable: Fix visible posts query logic for Post.class.\n\nChange-Id: Ic7f16a9dec8e639133ab266540b5f25d8f1594c9\n"
    },
    {
      "commit": "5794b9062d1dd94415757c2236bdfc766921f97f",
      "tree": "77315f1c90117c7d12a9e785bf679938c54ae217",
      "parents": [
        "baf0f964721a3a1b5a78a9e5b13b1a6f76b17915"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Apr 18 14:00:39 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Apr 18 14:02:53 2020 +0200"
      },
      "message": "KB46 Add All Posts resource.\n\nChange-Id: Ifc8ae0693d7e17addf4a84ed4eedcb43d5ea2f57\n"
    },
    {
      "commit": "5e5e70afe081cf6a11b74148b6c02c6f272495e4",
      "tree": "beb7270f556840183458f715dece9b7acdb15ab0",
      "parents": [
        "23781fb0b73f02621dd5165c1eff6aef86418954"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Apr 18 06:29:22 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Apr 18 06:29:22 2020 +0200"
      },
      "message": "When building native images, always do it in a Docker container.\n\nChange-Id: I3e1532f13072432689971573a69295752a33335e\n"
    },
    {
      "commit": "23781fb0b73f02621dd5165c1eff6aef86418954",
      "tree": "3c394c1ede52c682abcc5eae4e25b91fc7a72ebf",
      "parents": [
        "db48be42c51a6bd48e04f2e5c2dc2c6abd79aec9"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Apr 18 06:28:00 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Apr 18 06:28:00 2020 +0200"
      },
      "message": "Remove unused Dockerfiles.\n\nChange-Id: I6a72d73863dbeffb55fe980d81146f21f158105c\n"
    },
    {
      "commit": "db48be42c51a6bd48e04f2e5c2dc2c6abd79aec9",
      "tree": "c548459e86ab429ab80ceea2741d854843921fed",
      "parents": [
        "70d2795a0ec9b7777d5fa65455afcc88229ef208"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Apr 17 21:44:59 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Apr 17 21:44:59 2020 +0200"
      },
      "message": "Use Jib to build the Docker image.\n\nChange-Id: Ie528da5c7d3de5f62f8005edc909da15224a87a9\n"
    },
    {
      "commit": "6e60d8ec06ff12d3779b5cbdff50c1f6469d29cb",
      "tree": "5552fe7c287ebd5f865806f22ec83e6ac53af061",
      "parents": [
        "abfe886d16e9825b5d7fa42244e5af051a0da2ba"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Apr 17 21:26:03 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Apr 17 21:26:03 2020 +0200"
      },
      "message": "Navbar tag: Add parameter signature.\n\nChange-Id: If38e971210544ece6e62e8cba277d26c8f1be915\n"
    },
    {
      "commit": "188327df8235e114962a7ccf5895999eab2e3470",
      "tree": "1d743fbec7b54a9bb700484463be17e83349b82d",
      "parents": [
        "0fb9d12078b07947f8df732564477bd3f8eabaea"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Apr 17 21:22:57 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Apr 17 21:22:57 2020 +0200"
      },
      "message": "Update to Quarkus 1.3.2.Final.\n\nAlso adds a workaround for Quarkus issue #8662\n(https://github.com/quarkusio/quarkus/issues/8662).\n\nChange-Id: I0a91a67609b0fce4cf7f4dd356d787caf1e2938d\n"
    },
    {
      "commit": "0fb9d12078b07947f8df732564477bd3f8eabaea",
      "tree": "a44ea3fd15a3f589d2113c5c1b3f8974ebe9cad0",
      "parents": [
        "96c61e433a8be50d80da01f09143a6669c48aee7"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Apr 13 21:31:40 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Apr 13 21:32:33 2020 +0200"
      },
      "message": "MlkLazychatSubmissionForm: Make Flow type checker happy.\n\nChange-Id: I39ad254ea853e657b82069580e369ab701eafd81\n"
    },
    {
      "commit": "94f70b5523bed39318ee5a9b2e050d0b0a2cd25d",
      "tree": "c90317fb507d1bd9924db18b7b561624f38c01cc",
      "parents": [
        "55243c80978dccdd07f1cf4b4175572ebcd45ecf"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Apr 13 20:57:33 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Apr 13 20:57:33 2020 +0200"
      },
      "message": "Upgrade to JDK 14.\n\nChange-Id: I58f3ae6c7a048daf34ea79274a6b6154bb8679f4\n"
    },
    {
      "commit": "1c973684f1a43f7a14c572b854b773e87ac6a375",
      "tree": "cd2416e2ebce4f5c6395b48508dc3041e6d300ce",
      "parents": [
        "db23ab6a291261633ef8f0e4e1a5d82f071ae8bf"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Apr 13 20:27:13 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Apr 13 20:27:13 2020 +0200"
      },
      "message": "Move Dockerfile from Gradle to Maven.\n\nChange-Id: I1f2b50d3b2cfe18b229573b52e1e9860f038a75c\n"
    },
    {
      "commit": "db23ab6a291261633ef8f0e4e1a5d82f071ae8bf",
      "tree": "1fd1f6d87bfda0fd4dd66b425395b70e2bf63229",
      "parents": [
        "966a94e3970d0b6dfc63aec1f2aea339290b74da"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Apr 13 20:01:13 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Apr 13 20:01:34 2020 +0200"
      },
      "message": "Post list: Improve lazy chat message edit button layout.\n\nChange-Id: I46100b4b0039f241c7fb13905fb203303f1a466d\n"
    },
    {
      "commit": "966a94e3970d0b6dfc63aec1f2aea339290b74da",
      "tree": "cbb1db15a9fb105fb48df3ea72d91b0bf4f0c877",
      "parents": [
        "d1c953115e62512276d43925cff533758c7e666a"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Apr 13 17:13:58 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Apr 13 17:13:58 2020 +0200"
      },
      "message": "Post list template: Fix whitespace.\n\nChange-Id: Ibcd5302f6a66c0cf6e55f2c213e31df004767c32\n"
    },
    {
      "commit": "d1c953115e62512276d43925cff533758c7e666a",
      "tree": "8b0c9f12bae9e78736901a44f267cbc5843bab7e",
      "parents": [
        "06e6c81c77f8098693473e49c11557820541dd15"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Apr 13 17:13:37 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Apr 13 17:13:53 2020 +0200"
      },
      "message": "Bookmark: Implement stubbed methods.\n\nChange-Id: I2f159cb7ea068f7d1fb26680b89aa9d3be1f46c2\n"
    },
    {
      "commit": "06e6c81c77f8098693473e49c11557820541dd15",
      "tree": "90093ef738927496a5c3f48540ed62871b565bbb",
      "parents": [
        "7f4daccab9dc21cfd95be219e5c8c86545d47125"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Apr 13 17:01:35 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Apr 13 17:01:35 2020 +0200"
      },
      "message": "Lazy Chat: Implement editing of messages.\n\nChange-Id: I291201da1fbc7c2b6563f0837f7ce3e2f7f8555c\n"
    },
    {
      "commit": "d5ae0d54398d57fabe84271223fa80a565f726b6",
      "tree": "0636c5cec6bc31a3d611a7af026f8fc1616be649",
      "parents": [
        "4940b29dbe78cc9ff8baea0ede775aee37745a33"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Mar 29 18:57:22 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Mar 29 18:57:22 2020 +0200"
      },
      "message": "Implement news feed for Lazy Chat.\n\nChange-Id: I3621b77da5277f38c5f50fab24ff7bea580f11cd\n"
    },
    {
      "commit": "4940b29dbe78cc9ff8baea0ede775aee37745a33",
      "tree": "a5f2ff608446c54bde0aee66357def4c1a39f726",
      "parents": [
        "a3762dc8398f83e0112b7833a6259d2c041617db"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Mar 29 18:41:07 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Mar 29 18:44:25 2020 +0200"
      },
      "message": "Factor common parts of BookmarkResource and LazychatResource into PostResource.\n\nChange-Id: I6e5e123c67340e564c47448cf43b803f7d0cc809\n"
    },
    {
      "commit": "a3762dc8398f83e0112b7833a6259d2c041617db",
      "tree": "05c1b82a48ce7b486e7d1538a31349b2f7ec8661",
      "parents": [
        "85b5e266cbed1093e1440ee0ac50087697a96108"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Mar 29 17:49:20 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Mar 29 17:49:20 2020 +0200"
      },
      "message": "Show bookmark and lazy chat submission forms if and only if logged in.\n\nWith the recent session cookie fix, this now works as it should and\ncan therefore be enabled.\n\nChange-Id: I96cfdcd99952e7f91ae468de80d6445a024c74b5\n"
    },
    {
      "commit": "85b5e266cbed1093e1440ee0ac50087697a96108",
      "tree": "ee22d8a981499a7bb392b96d3c22f21c86c89a12",
      "parents": [
        "2f3ce9a0e0ea14c9e98395eee181d9e01b5aad58"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Mar 28 19:50:44 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Mar 28 19:50:44 2020 +0100"
      },
      "message": "Configure cookie path for q_session cookie.\n\nWhile Gecko defaults to / as the cookie path if not set, Safari\ndefaults to the page that set the cookie.  This means that the session\ncookie is only valid for the page a login flow was started from but\nnot any other pages and so a new login is required for each page,\nwhich makes no sense and is very inconvenient.  This patch fixes the\nproblem by explicity setting the cookie path to /.\n\nChange-Id: I8edc59958fe9120f70af1c00ebc8ae103ef756f7\n"
    },
    {
      "commit": "2f3ce9a0e0ea14c9e98395eee181d9e01b5aad58",
      "tree": "e3f24b68c067925c0b98e718ea0c11470a3d7865",
      "parents": [
        "6f13af6038b5690d1dc188e42e35683eb9973915"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Mar 28 16:33:26 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Mar 28 16:33:26 2020 +0100"
      },
      "message": "Lazy Chat: Default to semiprivate sharing.\n\nChange-Id: I1d8900e3384dc491ca6af0f7b319953c981b194a\n"
    },
    {
      "commit": "6f13af6038b5690d1dc188e42e35683eb9973915",
      "tree": "b1003a7c50dfedd40d87015ba9001cf4c5aff088",
      "parents": [
        "12c7cac4bd9abf55f379cbe7d9cf59b518052e51"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Mar 26 07:27:47 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Mar 26 07:27:47 2020 +0100"
      },
      "message": "Update yarn.lock.\n\nChange-Id: I83eb8a0aeaf9944006fa7b2156618bb8356c3f64\n"
    },
    {
      "commit": "12c7cac4bd9abf55f379cbe7d9cf59b518052e51",
      "tree": "9b25dda95b09e40cb4beb9c034780270516a69b1",
      "parents": [
        "e31da4f1523e0e5bfbc9ef1ae0378b90ef530400"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Mar 26 07:19:45 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Mar 26 07:19:45 2020 +0100"
      },
      "message": "Enable lazy chat message submission.\n\nChange-Id: I9e9060e29bb63a78591f618cc54acdfb5b49575f\n"
    },
    {
      "commit": "e31da4f1523e0e5bfbc9ef1ae0378b90ef530400",
      "tree": "192356fa536a7b71e1bd7b06a7ce34a0f5d90591",
      "parents": [
        "371164a188b93b24f33cb5badb0362ac2544d33d"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Mar 23 06:24:23 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Mar 23 06:24:23 2020 +0100"
      },
      "message": "Make various fields final.\n\nChange-Id: I115ca235d66f70d1429c28c2fe49af3231f70734\n"
    },
    {
      "commit": "371164a188b93b24f33cb5badb0362ac2544d33d",
      "tree": "2b19582c04a50ecddc2357e2a895613f9d041519",
      "parents": [
        "573f806676a7ebc2a62aa39d742127fbf74fbb3c"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Mar 23 06:21:25 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Mar 23 06:21:25 2020 +0100"
      },
      "message": "Use generic page template for bookmark and lazy chat lists.\n\nChange-Id: I86cc78c8164d6672d8b5cfbc2a3433954068967e\n"
    },
    {
      "commit": "573f806676a7ebc2a62aa39d742127fbf74fbb3c",
      "tree": "1c7fc50b116c9a1d2fe6302a1cbe64e8a1d91b94",
      "parents": [
        "3d399f3e0b150064b778a64ebfd495da2640bb4f"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Mar 22 09:23:07 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Mar 22 09:23:07 2020 +0100"
      },
      "message": "Lazychat: Add paging.\n\nChange-Id: I1db0b0733397d5e7a77b925ba185a39a72041f3e\n"
    },
    {
      "commit": "3d399f3e0b150064b778a64ebfd495da2640bb4f",
      "tree": "64fbcdaffb3795257bf6e0c426409ba1be8dd52b",
      "parents": [
        "f5999553827e64d1ea9b51d8bff573382e64eeb9"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Mar 22 07:23:07 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Mar 22 07:29:45 2020 +0100"
      },
      "message": "Make paged post queries generic over Bookmark and LazychatMessage.\n\nChange-Id: Ie0ac96bfc80c3c31bb948681ef90a9a50a512cf4\n"
    },
    {
      "commit": "f5999553827e64d1ea9b51d8bff573382e64eeb9",
      "tree": "8302ff88f4015499b702e8ec691c88a88b594b8b",
      "parents": [
        "43831d18f2d504c93a07ad3c32f52e2a887ed97f"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Mar 22 06:52:06 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Mar 22 07:02:05 2020 +0100"
      },
      "message": "Move post list query method to Post class.\n\nChange-Id: I8dbb664d2522a3012a477b850b67cb642bae9aa8\n"
    },
    {
      "commit": "43831d18f2d504c93a07ad3c32f52e2a887ed97f",
      "tree": "e539a590432c87a3befbfa8dafa96ee3c7080293",
      "parents": [
        "82c342dd6d9c45f8ca17e2c08517170ee36998c3"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Mar 22 06:47:48 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Mar 22 06:47:48 2020 +0100"
      },
      "message": "Make post list querying generic over all subtypes of Post.\n\nChange-Id: I41d1c2e75675ba0ae2176a9d02ea76fb0bb0d76c\n"
    },
    {
      "commit": "3f8a26c6fb88757cd3f5646838c177e711fcab76",
      "tree": "2ed647f18054aa5ce013c25aa8af01621b434417",
      "parents": [
        "84db379e6806b7c4603a9f86452ee3d8a1fd7e0b"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Mar 16 11:13:54 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Mar 16 11:13:54 2020 +0100"
      },
      "message": "Bookmarks: Add paging.\n\nChange-Id: Icd53dd04a74b94e1fa80f23703348070d598c413\n"
    },
    {
      "commit": "551f50c1b5b7d1bd8479859d204124633b1d14d8",
      "tree": "fd0e89a0056adc9cb4fc2c052e440fb19514171f",
      "parents": [
        "a11c06520155f15795fe8b41c2040036e7090545"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Mar 15 12:34:07 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Mar 16 11:13:16 2020 +0100"
      },
      "message": "Update dependencies.\n\nChange-Id: I883dfb802e6db8b720f3de3cfc9b8a415b3d94be\n"
    },
    {
      "commit": "a11c06520155f15795fe8b41c2040036e7090545",
      "tree": "ef5e2a7b2aa45ab6322ed5669133571aa77bb2ee",
      "parents": [
        "aa659da0337ea13c6add4117fd7bbd9b158f63a7"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Mar 01 12:05:24 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Mar 01 12:05:24 2020 +0100"
      },
      "message": "Contact info page: Fix area code in phone number.\n\nChange-Id: Ic81e3bb2e7eab4e59198c43b0304589257a90e7a\n"
    },
    {
      "commit": "aa659da0337ea13c6add4117fd7bbd9b158f63a7",
      "tree": "fa741bd3946fe566a41a32d31c25db53ef059fdf",
      "parents": [
        "781dcbb406a5e0ad93ab746abee021e750699d43"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Mar 01 12:04:14 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Mar 01 12:04:14 2020 +0100"
      },
      "message": "Add contact information.\n\nChange-Id: If94f79fa2e51c8cb7a9c8b63524ff992395aa96f\n"
    },
    {
      "commit": "a04b3973a674b9851a0a8ce3294556fa6a0aeed8",
      "tree": "046906a74dbbf5a4e070e0df450dcd3ccbfec34e",
      "parents": [
        "0312ec75cdb4284ff55dbc5d310263d9d78111ea"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 23 07:07:42 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 23 07:07:42 2020 +0100"
      },
      "message": "BookmarkResource: Add missing selection to authenticated bookmark list query.\n\nChange-Id: I965dba4ae0027e2a9f24836b16aa4614c713cca6\n"
    },
    {
      "commit": "35d8d09a2a0b2a64e134b60e113a05da5de16bfa",
      "tree": "5052a3209635fb140b0fe7bb4e34a677cfb97ef7",
      "parents": [
        "cb226699d09467e1036a06298df61628ccc6f829"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 22 12:51:54 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 22 12:51:54 2020 +0100"
      },
      "message": "BookmarkResource: Fix user feed IDs and links.\n\nChange-Id: If5238caf54334f6ac47eeefae04f2134dc4de856\n"
    },
    {
      "commit": "cb226699d09467e1036a06298df61628ccc6f829",
      "tree": "dd7ecf3381eff8f52abd198de5898959671f7d77",
      "parents": [
        "404ac1d20d5126c7ac5467171531d5e4a9936fc1"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 22 11:30:53 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 22 11:30:53 2020 +0100"
      },
      "message": "BookmarkResource: Remove code duplication.\n\nChange-Id: I63cc5452b6690e6ef9a5a0d080d97e03a6952b13\n"
    },
    {
      "commit": "404ac1d20d5126c7ac5467171531d5e4a9936fc1",
      "tree": "22259e345231e62c363fc584de2309b7399267b5",
      "parents": [
        "088a21f23554624b79bf4bda58ddc11d4cf7c23c"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 22 11:29:37 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 22 11:29:37 2020 +0100"
      },
      "message": "BookmarkResource: Use JPA metamodel for type-safe Criteria queries.\n\nChange-Id: I7571a749275d733c9738eed01dad9fb2de7d77ba\n"
    },
    {
      "commit": "088a21f23554624b79bf4bda58ddc11d4cf7c23c",
      "tree": "31bffd5764b5688d5da7ae5e5bb3ead54ad9dfcf",
      "parents": [
        "04a50e6aaf2ca436b42387e423a1c414ecf6cce6"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 22 10:52:11 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 22 10:52:11 2020 +0100"
      },
      "message": "Bookmarks: Add owner bookmark pages (~{user}, ~{user}/feed).\n\nChange-Id: I04395a6454d8c187e23683db72100f49b80fc655\n"
    },
    {
      "commit": "04a50e6aaf2ca436b42387e423a1c414ecf6cce6",
      "tree": "cf7ea367366b9c3c34ac39f48dda2356398399f8",
      "parents": [
        "981f27984005c49605114c4ff0f2f1bb24bbd034"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 16 19:08:38 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 16 19:18:33 2020 +0100"
      },
      "message": "Bookmarks: Add Atom feed.\n\nChange-Id: I902473b6bffa10afa0cb2295d365d50335de9021\n"
    },
    {
      "commit": "8075e59b7dbbe9018977824eb71909022669a4f5",
      "tree": "107b6b9048e8bfd282a2a023d49713ac03a260c9",
      "parents": [
        "edd7e5eef56f7386a92297703a910c619e5b8a9c"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 16 14:49:25 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 16 14:49:25 2020 +0100"
      },
      "message": "MlkBookmarkSubmissionForm: Make type-only import Flow-commented.\n\nChange-Id: Ie1b6461e5ae8ef7888412a4cfbc3d9543a2ddbeb\n"
    },
    {
      "commit": "edd7e5eef56f7386a92297703a910c619e5b8a9c",
      "tree": "91148fd50d22e34bb8f99d617cfc2c9cf94e7cda",
      "parents": [
        "e5f071f19a0175d72837cce72acc9cb8fe398db9"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 22:16:58 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 22:16:58 2020 +0100"
      },
      "message": "MlkBookmarkSubmissionForm: Implement disconnectedCallback().\n\nChange-Id: Id93112b47d092711cd533c678901177fa73e3255\n"
    },
    {
      "commit": "e5f071f19a0175d72837cce72acc9cb8fe398db9",
      "tree": "d23d93e73456e13aea30c58e0c6a5645bc3cc72f",
      "parents": [
        "fc8caa58badd9a6b50019574c129303d1c87718e"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 21:33:55 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 21:33:55 2020 +0100"
      },
      "message": "Web: Add ESLint.\n\nChange-Id: I3c7fb3cb2b11de29dab0f3be0d1587ee3d41e72f\n"
    },
    {
      "commit": "fc8caa58badd9a6b50019574c129303d1c87718e",
      "tree": "16945b160e285d621ff6deca416b0ade479ea1c7",
      "parents": [
        "5e09e865aeb03e300dd971354580b39e05a48009"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 21:06:06 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 21:06:06 2020 +0100"
      },
      "message": "Web: Remove lit-html, prefixfree, redux.\n\nThey were unused, so this patch removes them.\n\nChange-Id: I53cda07b5622bace3cd0fb004e75d19ddba8b681\n"
    },
    {
      "commit": "5e09e865aeb03e300dd971354580b39e05a48009",
      "tree": "d91c09350433760567dac6b917cc6ad026e2d7e3",
      "parents": [
        "8c29ae90720cbc7a6dfde6721559b13c0ebd52c3"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 21:05:43 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 21:05:43 2020 +0100"
      },
      "message": "Web: Install TypeScript definitions for Elix.\n\nChange-Id: I6ca8cafde683921d127599e01c7cada9dbbd5223\n"
    },
    {
      "commit": "8c29ae90720cbc7a6dfde6721559b13c0ebd52c3",
      "tree": "9a2b8a8bc1ac6663abafd5b2194401da5bc339e3",
      "parents": [
        "9e203aa7ee9eb12645c4520ac4baa21236c67e94"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 21:04:58 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 21:04:58 2020 +0100"
      },
      "message": "Web: Move types.js to cms2/.\n\nChange-Id: I297c74397b944e88989a8320953065e5cdd64c25\n"
    },
    {
      "commit": "9e203aa7ee9eb12645c4520ac4baa21236c67e94",
      "tree": "36859a51dd3908ab8431b544965e1fec6ffb5486",
      "parents": [
        "b3a2c48f559d80c6ff3fd676a3a0a28f75645b57"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 20:47:24 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 20:47:24 2020 +0100"
      },
      "message": "Web: Move the Flow type cast function to its own module.\n\nChange-Id: I572c91e483fdb0a3b9fce4a9315b9dac92f9a31b\n"
    },
    {
      "commit": "b3a2c48f559d80c6ff3fd676a3a0a28f75645b57",
      "tree": "f75f0d7edf4195d3fb773338aec52a861f42ddf6",
      "parents": [
        "f550d24f4badd85f29d7741d3ab8efe2b81c05ee"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 20:40:30 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 20:40:30 2020 +0100"
      },
      "message": "Use Flow to typecheck JavaScript code.\n\nChange-Id: I9c0c9b5aa74d592a04eb6533e64669f1896fb7cd\n"
    },
    {
      "commit": "f550d24f4badd85f29d7741d3ab8efe2b81c05ee",
      "tree": "4f74ccef29604be28d9224d5956b9b5ce1aacb0e",
      "parents": [
        "f5a24e4965759f963091fdb5a988b87cd4e9fcda"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 18:49:45 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 18:49:45 2020 +0100"
      },
      "message": "MlkBookmarkSubmissionForm: Remove lit-html dependency.\n\nFor the MlkBookmarkSubmissionForm component, even lit-html is\noverkill.  This patch removes it and makes the component even simpler.\n\nChange-Id: I5de6ffac4a3177c8fba89a1f897ad6b49f9ae562\n"
    },
    {
      "commit": "f5a24e4965759f963091fdb5a988b87cd4e9fcda",
      "tree": "cc6d15e8d17377b8993382822e93d69fdbdd423f",
      "parents": [
        "a6ac2a38a23dd7f3437aa4b11795bfeb15a81c8b"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 18:40:36 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 18:40:53 2020 +0100"
      },
      "message": "Configure log levels explicitly.\n\nChange-Id: I12c16bcfe485a12dc2985cfb0f5287b46a995a83\n"
    },
    {
      "commit": "a6ac2a38a23dd7f3437aa4b11795bfeb15a81c8b",
      "tree": "261a6db34cade977242c3a14d49b638a0f79207e",
      "parents": [
        "96a28ef9b9ba9a0187a189c8a2167f1bd65c1e91"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 18:40:20 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 18:40:20 2020 +0100"
      },
      "message": "OIDC: Use a fixed redirect path of /oidc/login.\n\nChange-Id: I6bd7cff8f37de00d51ef9c394a4b74ca1d2c82de\n"
    },
    {
      "commit": "c53029758317729136e47fba4a43880b2e77c142",
      "tree": "5e2e38fdb96453a3876e2ddeb227ab465326d372",
      "parents": [
        "4eb7126e780d1b6c3cac2f4d2ecff6b5135e1985"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 18:36:49 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 18:36:49 2020 +0100"
      },
      "message": "MlkBookmarkSubmissionForm: Refactor subelement references.\n\nChange-Id: I8a50c55536c602c2412cae00f0762e4f8d9bb244\n"
    },
    {
      "commit": "4eb7126e780d1b6c3cac2f4d2ecff6b5135e1985",
      "tree": "7ee268c56dd3b886984345db9aaaba98bde563c9",
      "parents": [
        "6bfb3fb2a531c47d9e6cf8ba39fe62714cbe3ffd"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 14:40:37 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 14:40:37 2020 +0100"
      },
      "message": "MlkBookmarkSubmissionForm: Refactor attributes.\n\nChange-Id: I47ada5516a37e7d3ad2184d7a3cc920685a20413\n"
    },
    {
      "commit": "6bfb3fb2a531c47d9e6cf8ba39fe62714cbe3ffd",
      "tree": "8e26cda61f161d2bc67d3e4ecc43d3b523cdad40",
      "parents": [
        "22747a00099d8624d862707c8140f9514388c5a5"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 14:29:41 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 14:29:41 2020 +0100"
      },
      "message": "Web: Remove AdminElement and components.js.\n\nChange-Id: Ib829e99069229866a18e2a5356330bcf952b08d4\n"
    },
    {
      "commit": "22747a00099d8624d862707c8140f9514388c5a5",
      "tree": "d464af10a46afa1e35680a4d960e14f7ad8cbb88",
      "parents": [
        "c65679cfb361c6cc79842bcf832679f92250f5c8"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 05:21:00 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 05:21:00 2020 +0100"
      },
      "message": "Bookmark submission: Select public viewability by default.\n\nChange-Id: Ia8a1feec2d01fd5fc5c7d032f976ae547887f6c8\n"
    },
    {
      "commit": "c65679cfb361c6cc79842bcf832679f92250f5c8",
      "tree": "d2dd0de4e777d4b9edd57d078debf4a4ac08dcc1",
      "parents": [
        "9261f6b64c131e1a7e56585b77302bc28c11dc64"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 05:17:17 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 05:17:17 2020 +0100"
      },
      "message": "Web: Load web components eagerly.\n\nChange-Id: Iacc24bcbc27243f1f9aee7203d9ff5bd69e50c49\n"
    },
    {
      "commit": "9261f6b64c131e1a7e56585b77302bc28c11dc64",
      "tree": "fc699d9fc69e91d1a33d749ceef818dfea964369",
      "parents": [
        "068495667edeb494de11f506c8c3e11c51b3bf19"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 03:36:54 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 15 03:36:54 2020 +0100"
      },
      "message": "Bookmark submission: Fix stylesheet link.\n\nChange-Id: I797a2d82fb3d0fe229b08e4d000b146d2763ac96\n"
    },
    {
      "commit": "ccf2f7f198466ea712b17ad415ba2cdd665361a1",
      "tree": "711f5e03467e69cb7d77333e2517154e6d403a25",
      "parents": [
        "8bd01962abb0fc6280a2964e63a240cbc6aa34ef"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Feb 13 05:23:07 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Feb 13 05:23:07 2020 +0100"
      },
      "message": "Bookmark submission: Use CSS grid for form layout.\n\nChange-Id: If06ddb2407dfb3f0e59948a9c437e9af4129da78\n"
    },
    {
      "commit": "8bd01962abb0fc6280a2964e63a240cbc6aa34ef",
      "tree": "45a5f41ef8f101ffed8ff289466220502099b677",
      "parents": [
        "fc427e26493d4bd070c09e5dbc348a1355c00e38"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Feb 13 05:03:30 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Feb 13 05:03:30 2020 +0100"
      },
      "message": "Bookmark submission: Load title if URI was specified but title was not.\n\nChange-Id: Idb956c72a4ecf87a2d40b5b1f382b3292eba5228\n"
    },
    {
      "commit": "fc427e26493d4bd070c09e5dbc348a1355c00e38",
      "tree": "df04f0b158373549c6cc333f0de834f3e2be9f80",
      "parents": [
        "6991257cd67631efae78e141b8ae7794129483c1"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Feb 13 05:00:54 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Feb 13 05:00:54 2020 +0100"
      },
      "message": "Add /bookmarks/new endpoint.\n\nChange-Id: I903dbf5f918e1478fff82e5ebf6f3e3e2766572d\n"
    },
    {
      "commit": "6991257cd67631efae78e141b8ae7794129483c1",
      "tree": "a398f490e7f0f639cd4695a253280442b9b6537f",
      "parents": [
        "65fab823eb9f6556f6cc68989e2cc7b672a711ba"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Feb 13 04:41:32 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Feb 13 04:41:32 2020 +0100"
      },
      "message": "Bookmark submission: Make bookmark submission form a reusable WebComponent.\n\nChange-Id: I723d98208040db5b0d2d56d8c5e727c68399f843\n"
    },
    {
      "commit": "65fab823eb9f6556f6cc68989e2cc7b672a711ba",
      "tree": "6921d075a4e49468e96ca78b2b48a31472546e8e",
      "parents": [
        "35e14e4f5e98719d5db1ac9cba46cdeefc3d3f00"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Feb 12 06:20:49 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Feb 12 06:20:49 2020 +0100"
      },
      "message": "Reformat code.\n\nChange-Id: Ic3ee55d3264e02765eaa0ae965253c2dd2d6330a\n"
    },
    {
      "commit": "35e14e4f5e98719d5db1ac9cba46cdeefc3d3f00",
      "tree": "b40fe3155e6562b838b5cfd1bd9f0763ca950aa1",
      "parents": [
        "22f623c810297467da2d8662c5d4b90ae8e84dae"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Feb 12 06:20:05 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Feb 12 06:20:05 2020 +0100"
      },
      "message": "Bookmark submission: Fetch page info through back end.\n\nCORS prevents us from fetch the target page directly.  This patch\nmakes the front end use the back end to fetch it instead.\n\nChange-Id: I2d33a68d00b6ce1bb7a7b8dfcb7687f0bd1fdebd\n"
    },
    {
      "commit": "22f623c810297467da2d8662c5d4b90ae8e84dae",
      "tree": "5ae88d8279a0c389305a6f06e69139a749e9b0d0",
      "parents": [
        "8b7cfaaac98a815195a17b5e28111a65be0791ab"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Feb 12 05:54:53 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Feb 12 05:54:53 2020 +0100"
      },
      "message": "Bookmark submission: Automatically fetch title after URI input.\n\nChange-Id: Ieea258e076d1dbaeba2520e583b590822dfdcab8\n"
    },
    {
      "commit": "8b7cfaaac98a815195a17b5e28111a65be0791ab",
      "tree": "2a8e08e99f68ab19c357343a60615a0f1aecf5b4",
      "parents": [
        "92c0c3c0ff63b1de91d5b66746651b7feef8096c"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Feb 12 05:30:42 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Feb 12 05:30:42 2020 +0100"
      },
      "message": "Bookmark submission: Rearrange fields, focus URI field on pane expansion.\n\nChange-Id: I2c440905a39ea0126fa6b1024fa7b54e80a59b1a\n"
    },
    {
      "commit": "92c0c3c0ff63b1de91d5b66746651b7feef8096c",
      "tree": "d96b2ed86e3b8fa1f46dea978425bac8cb0c67c0",
      "parents": [
        "f20e9b98f1a5d7012ebb493cb756a339bb69b6e1"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Feb 10 21:20:37 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Feb 10 21:20:37 2020 +0100"
      },
      "message": "Make bookmark submission form always visible.\n\nThe authentication test does not seem to be working in production,\nwhich caused the bookmark submission form to never be visible.  This\npatch changes it to always be visible instead.\n\nChange-Id: Iaf691ed0a0b6955648046a2debfcc6aa35281fad\n"
    },
    {
      "commit": "f20e9b98f1a5d7012ebb493cb756a339bb69b6e1",
      "tree": "4b6169b7c249ca37cddcc41787f14260a5dd148f",
      "parents": [
        "79f23b7e603cb649f395c852d656d791a2105c4e"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Feb 10 21:14:57 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Feb 10 21:14:57 2020 +0100"
      },
      "message": "Make bookmark submission authenticated.\n\nChange-Id: I8bb41a106b7b0cc925beac968053f1d5811a652d\n"
    },
    {
      "commit": "79f23b7e603cb649f395c852d656d791a2105c4e",
      "tree": "26c427ce7b4baa4c327d1e99a8141162f3a5ea0b",
      "parents": [
        "a7f4d03c047ebbcbd014d89cde3d819f53f469bb"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Feb 10 21:12:55 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Feb 10 21:12:55 2020 +0100"
      },
      "message": "Add a light hover effect on navbar items.\n\nChange-Id: I3e4e42414590cf94713d9ef53123d4e8c51986ea\n"
    },
    {
      "commit": "a7f4d03c047ebbcbd014d89cde3d819f53f469bb",
      "tree": "b9741ba8634604931545bc860c2048f5ff617a3b",
      "parents": [
        "bca94613c19acf02ea333d57090e535b28afd2b4"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Feb 10 21:08:34 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Feb 10 21:08:34 2020 +0100"
      },
      "message": "Hide bookmark submission form by default.\n\nChange-Id: I542d39164297afa70d66102bd7db0bf064df9e02\n"
    },
    {
      "commit": "bca94613c19acf02ea333d57090e535b28afd2b4",
      "tree": "c753136015c276d389ca05ecba4306f02ce9b699",
      "parents": [
        "ee5d99727cfad928cdf9013f71f7439d54a70bb6"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Feb 10 20:58:13 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Feb 10 21:01:53 2020 +0100"
      },
      "message": "Book Marx: Implement bookmark submission.\n\nChange-Id: Ieb1fef8565ed0e17de9590d5207ba11ebfe6f177\n"
    },
    {
      "commit": "ee5d99727cfad928cdf9013f71f7439d54a70bb6",
      "tree": "c49f29d3c8014dc0b693037fb45fccf674a3c886",
      "parents": [
        "d5510b4656a9a237b7e76d281f05217efe020228"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Feb 10 20:13:24 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Feb 10 20:13:24 2020 +0100"
      },
      "message": "Desaturate all colors.\n\nChange-Id: Ieb8ab0b2324f015f45406bae044c52ab4f55d2a2\n"
    },
    {
      "commit": "d5510b4656a9a237b7e76d281f05217efe020228",
      "tree": "f8f361633c9a918ad147915614795248f42bef75",
      "parents": [
        "ec9bdce7cc591af389be02ace98e32dee9f0f468"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Feb 10 20:05:53 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Feb 10 20:05:53 2020 +0100"
      },
      "message": "Configure viewport for mobile devices.\n\nChange-Id: Ie940b5eb76642fbe0600f77412f16cc1023829b6\n"
    },
    {
      "commit": "ec9bdce7cc591af389be02ace98e32dee9f0f468",
      "tree": "ab970eae626d2ad6589042fb33fddcfd372cf784",
      "parents": [
        "9d9e07b4064c7cca4fc6d15dadf50e6f6a509639"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Feb 10 20:05:06 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Feb 10 20:05:06 2020 +0100"
      },
      "message": "Navigation bar: Make navigation items clickable everywhere.\n\nChange-Id: Ic69c8b03e41868b3d28d4463e991f58ea2b82411\n"
    },
    {
      "commit": "9d9e07b4064c7cca4fc6d15dadf50e6f6a509639",
      "tree": "87456f5ffcb140b5e5b3e520b49484b36544f2c1",
      "parents": [
        "19e0584c60c3c3b3814771c97415f046e37e375a"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 09 20:05:43 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 09 20:05:43 2020 +0100"
      },
      "message": "Fix HQL typo.\n\nChange-Id: I81b012588628acaeab43a3a8a4d85bc187e38c0f\n"
    },
    {
      "commit": "19e0584c60c3c3b3814771c97415f046e37e375a",
      "tree": "11e3851f1b69563ada2d8339077da34a1071295b",
      "parents": [
        "94b5e7b4c85a4bde4848bf3d85c1adc7cd73acc6"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 09 20:02:32 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 09 20:02:32 2020 +0100"
      },
      "message": "Main Menu: Deeplink to /wiki/Home to avoid a login redirect loop.\n\nChange-Id: I4fbc20973c7e09b945a977a89eac77f35e0fdfba\n"
    },
    {
      "commit": "94b5e7b4c85a4bde4848bf3d85c1adc7cd73acc6",
      "tree": "4d6ddb89267a18bf935acc195fe0ca1922835ab5",
      "parents": [
        "62416de64d7fa2dda4dd12777a7698a7a5d0c199"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 09 20:02:20 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 09 20:02:20 2020 +0100"
      },
      "message": "Lafargue: Implement basic viewer.\n\nChange-Id: If24f58aa069a14139454708d02ac40109c2181ef\n"
    },
    {
      "commit": "62416de64d7fa2dda4dd12777a7698a7a5d0c199",
      "tree": "7c94a4a2078e9dd344e82ac84dfdb345aa251e46",
      "parents": [
        "424e16e8d27f8e7459089554f5036a07d7ea252e"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 09 19:05:22 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 09 19:05:22 2020 +0100"
      },
      "message": "Wiki: Make /wiki main resource unauthenticated.\n\nChange-Id: I6a2356a6c77110947e5b0e5fd65a70ed7ee96c9b\n"
    },
    {
      "commit": "424e16e8d27f8e7459089554f5036a07d7ea252e",
      "tree": "e145b4f178cee555af15e8beb9178b72a289bd3b",
      "parents": [
        "51abccb96af42153c1e01a0914d27a6f93638ed5"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 09 18:29:56 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 09 18:29:56 2020 +0100"
      },
      "message": "Book Marx: Properly format bookmarks.\n\nChange-Id: Idd6f2c4622d4b1a16c74b2d3af02e637625732fc\n"
    },
    {
      "commit": "51abccb96af42153c1e01a0914d27a6f93638ed5",
      "tree": "b907e16332cd1c96d088e7eedc9419195b0412e0",
      "parents": [
        "2d4f92ef2685da8f43c970345513ec9d0107dffc"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 09 18:29:25 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 09 18:29:25 2020 +0100"
      },
      "message": "Web: Increase active menu item overlap from 1px to 3px.\n\nChange-Id: I977c6cd7252935645e07585ef3c4328987b02f73\n"
    },
    {
      "commit": "2d4f92ef2685da8f43c970345513ec9d0107dffc",
      "tree": "5f10fd9345a9d631aeb4ddd8f0ab9c8f204b8252",
      "parents": [
        "e28673d659e1b1f7a5b1a6a9c00aec18503d84a6"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 09 16:15:07 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 09 16:15:07 2020 +0100"
      },
      "message": "Book Marx: Implement basic viewer.\n\nChange-Id: I5a878ca82d8489c6a87c86f66a49a085f168f86c\n"
    }
  ],
  "next": "e28673d659e1b1f7a5b1a6a9c00aec18503d84a6"
}
