)]}'
{
  "log": [
    {
      "commit": "cc29e558886fdf072f26a798dc4684d59e95fdb6",
      "tree": "9711ba805007d4162d10a8138581f02c8e4cbf56",
      "parents": [
        "0c0a461307c6cd4a9675d3d4305ce17f013dcec6"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 22 14:47:29 2021 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 22 15:03:27 2021 +0100"
      },
      "message": "Turn on JEP 346 (Promptly Return Unused Committed Memory from G1).\n\nThis tunes G1 so it performs a full GC and releases the memory\nreclaimed back to the OS once every 5 minutes.\n\nSee: https://openjdk.java.net/jeps/346\n\nBefore:\n\n    NAME                       CPU(cores)   MEMORY(bytes)\n    mulkcms2-857469cf-p9rvx    1m           428Mi\n\nAfter:\n\n    NAME                       CPU(cores)   MEMORY(bytes)\n    mulkcms2-74d8c8f69-wvfz8   3m           337Mi\n\nChange-Id: I2f6272ad83665f9ee0810c435d0511fd8807697d\n"
    },
    {
      "commit": "0c0a461307c6cd4a9675d3d4305ce17f013dcec6",
      "tree": "a1bd797597963d7613139d90002534a83f492f18",
      "parents": [
        "bdab65963af7d31827ca05799b4859339c3c1942"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Dec 20 13:37:32 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Dec 21 08:16:07 2020 +0100"
      },
      "message": "Switch to Azul Zulu.\n\nThe Alpine Zulu 15-jre Docker image is much smaller than the OpenJDK\n15-slim image (65 MB vs. 200 MB), which is a good enough reason to\nswitch to it.\n\nChange-Id: Ibde104f6f4217b06af756e842e45f07e243509db\n"
    },
    {
      "commit": "46749035a770a3542db8d1a6bb1258ea591e7078",
      "tree": "d9009725981de1cf8dbadb5fbe3120de0e21504e",
      "parents": [
        "4db085417b5221c9fdd74f0c1ff704e1a827b193"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Dec 17 18:15:32 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Dec 17 18:16:46 2020 +0100"
      },
      "message": "Act as if everything was fine if an invalid registration key is used.\n\nChange-Id: I78066954fef2e6afd9e49d56bd4c4060ad59796c\n"
    },
    {
      "commit": "4db085417b5221c9fdd74f0c1ff704e1a827b193",
      "tree": "0d032eac1a3110b57b7ab0e760bd23d0c50eb1f9",
      "parents": [
        "a743872d30d72dfdc230cd72a1f529edd82e691e"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Dec 17 18:10:51 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Dec 17 18:10:51 2020 +0100"
      },
      "message": "Work around authentication check blocking-call bug in Quarkus 1.10.x.\n\nA bug causes authentication checks to fail when performed from inside\na reactive operation:\n\n    https://github.com/quarkusio/quarkus/issues/13835\n\nTo avoid such a reactive operation, we now render the HTML template\neagerly even in NewsletterResource#register, which is otherwise a\nreactive implementation.\n\nChange-Id: I26d6c1cc76eaa041a04c106b7cf06f024a0cded3\n"
    },
    {
      "commit": "a743872d30d72dfdc230cd72a1f529edd82e691e",
      "tree": "2fa549efc379e7749ad3ecb6fdfea2b3c8275fcd",
      "parents": [
        "533e6d4ca0764c3d74329cbe8c470957a51a278b"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Dec 16 17:00:28 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Dec 16 17:22:09 2020 +0100"
      },
      "message": "Make navigation in portrait mode more finger-friendly again.\n\nChange-Id: I30c20e67c61259d6029055800db3131eeeeb0e46\n"
    },
    {
      "commit": "533e6d4ca0764c3d74329cbe8c470957a51a278b",
      "tree": "5caa35dc684bcd932a3880e0d151940dbf304391",
      "parents": [
        "8f4c40796afa355af17130f4813be337916d0d6f"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Dec 16 13:26:38 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Dec 16 13:26:38 2020 +0100"
      },
      "message": "Make navigation in portrait mode more compact.\n\n - Moves secondary navigation items to the footer.\n - Reduces primary navigation items to two lines.\n\nChange-Id: Id104bb051c48bcd1f8ff97b0ecd3e198a7531cd1\n"
    },
    {
      "commit": "8dbf2f1189fd81a02b8c42e1d94548f63d4fbb92",
      "tree": "58d5c793822adc05f11454457195ad829a3dc80f",
      "parents": [
        "38531525712b84c8ccfb81a9d7e0710c81e276a1"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Nov 10 06:39:23 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Nov 10 06:55:37 2020 +0100"
      },
      "message": "Fix \u003cstrong\u003e and \u003cb\u003e font weights.\n\nPure CSS defaulted them to \u0027bolder\u0027, which is wrong.\n\nChange-Id: Iac8b527f81d1d9cb4c93b301d6eda76641f7a3b7\n"
    },
    {
      "commit": "5000f9a3b87bf7689cba3e03dca4ec8260d56fae",
      "tree": "0194ab6e27eb25c19954e257500243b77ce58769",
      "parents": [
        "db9a1988bc688407c7957c5e55782f33a76d3de3"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Nov 03 07:09:42 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Nov 03 07:09:42 2020 +0100"
      },
      "message": "KB68 Only put public posts into the newsletter.\n\nChange-Id: Iee7f4dfd14820c19179c43be71759f209caa9989\n"
    },
    {
      "commit": "db9a1988bc688407c7957c5e55782f33a76d3de3",
      "tree": "6b4078d5634cee3198a62b1226b3c4ae9e180008",
      "parents": [
        "ff358945f2b210f7f374d3e3e7e36170ee16aed5"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Nov 03 06:49:57 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Nov 03 06:50:27 2020 +0100"
      },
      "message": "KB68 Automatic expiry of unconfirmed newsletter subscriptions.\n\nChange-Id: Iae05f0cac1bacc7e1929a0b3a72d506241c2ece3\n"
    },
    {
      "commit": "ff358945f2b210f7f374d3e3e7e36170ee16aed5",
      "tree": "5f7300b2e3cc9686847b3495ae2b48c579eeb9a2",
      "parents": [
        "ba3e58c04e918723233dcc66996399eeeff24007"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Nov 03 06:16:17 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Nov 03 06:49:44 2020 +0100"
      },
      "message": "KB68 Newsletter registration and deregistration.\n\nChange-Id: Ic79fe64f03ce887879bffc7623e59cb697065ee6\n"
    },
    {
      "commit": "ba3e58c04e918723233dcc66996399eeeff24007",
      "tree": "ece716b5ff12e77ee2eaf0163912ebe49077f0e0",
      "parents": [
        "8ae23a7fa6202377f957919d763c618859cb0d74"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Nov 01 12:58:35 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "",
        "time": "Sun Nov 01 12:58:35 2020 +0100"
      },
      "message": "KB68 Implement newsletter sending.\n\nChange-Id: I1d56e40d7f35d6be77fde1a1e8519a91bd2dc3b8\n"
    },
    {
      "commit": "8ae23a7fa6202377f957919d763c618859cb0d74",
      "tree": "db8aa409316aba1a69af487d1f809ad305418921",
      "parents": [
        "c0ed9cca59eb36477c8efeb4b724fa4be320ff38"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Oct 31 19:59:24 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Oct 31 19:59:24 2020 +0100"
      },
      "message": "KB68 Add privacy policy.\n\nChange-Id: Ib55cd55b2c9f53211ea6c18c2890f715a61d9d9b\n"
    },
    {
      "commit": "8563a3c03538600ae148b75debd31af16047e2d5",
      "tree": "7ac292f7213bb6118552b94442533e9e685b11e1",
      "parents": [
        "b1192ac9ed515927642215dd3a1717fc13c9679c"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Sep 16 17:57:24 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Sep 17 11:03:14 2020 +0200"
      },
      "message": "KB73 Add full text search to post lists.\n\nChange-Id: Ib8333b39cef1d7035ab7fac0ff8a03b400adcb40\n"
    },
    {
      "commit": "99904f19656b534b6290fb2e507865f1afcf870c",
      "tree": "6fc85a26d49b153f0641b7ec63f672fb1a2bcdb0",
      "parents": [
        "685317fb4adab36e95558e0f3e7b1af9f94fdaf1"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Sep 16 13:37:55 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Sep 16 13:37:55 2020 +0200"
      },
      "message": "Update to OpenJDK 15.\n\nChange-Id: I1ec0958b83b5250da1fa855e3754228e11f132f5\n"
    },
    {
      "commit": "685317fb4adab36e95558e0f3e7b1af9f94fdaf1",
      "tree": "846c88c189aa1fa298796e2151c95229460861b9",
      "parents": [
        "67107cd9458ff540be1be21d621c41cbca189b6a"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Sep 12 18:45:50 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Sep 12 18:45:50 2020 +0200"
      },
      "message": "Change post view page title.\n\nChange-Id: I01dc16df134a613f4c9d76e748e344f2e5837e97\n"
    },
    {
      "commit": "67107cd9458ff540be1be21d621c41cbca189b6a",
      "tree": "0f556dfb655a0cb7d8443d543851434d5a22d1e1",
      "parents": [
        "dd16c7566d5b11b7c8033910ef6a9c5ec28873ac"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Sep 12 18:45:38 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Sep 12 18:45:38 2020 +0200"
      },
      "message": "Add missing Fira Code files.\n\nChange-Id: Ibbeb7d357079e62766b7a533d5fd8cb97919e90a\n"
    },
    {
      "commit": "dd16c7566d5b11b7c8033910ef6a9c5ec28873ac",
      "tree": "692a1c542d702d32f034c0c7157a16833b44cd44",
      "parents": [
        "455b3138af510cb76348576ddd36ed99b633ffc6"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Sep 12 16:11:22 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Sep 12 16:11:22 2020 +0200"
      },
      "message": "Design: Configure Iosevka with discretionary ligatures.\n\nChange-Id: Ie4b2f9481c786e4dc5a6f35d379ec36f529cee46\n"
    },
    {
      "commit": "455b3138af510cb76348576ddd36ed99b633ffc6",
      "tree": "081e19a4cd0bd9f165de649c0a61c5645126b500",
      "parents": [
        "e460da47a281e8d405f377761e5fe46e688ee15f"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Sep 12 15:53:54 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Sep 12 15:53:54 2020 +0200"
      },
      "message": "Design: Make the sidebar minimum 12 em wide.\n\nChange-Id: I4752c7b92df2ff835b12d0b7e00cb29e1128e0f5\n"
    },
    {
      "commit": "e460da47a281e8d405f377761e5fe46e688ee15f",
      "tree": "9a9cc9ded587da4080534d5dfef87f73adcdfcfe",
      "parents": [
        "a9af15f9d0e8d278ed1946e1e503082d536c147a"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Sep 12 15:10:40 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Sep 12 15:14:20 2020 +0200"
      },
      "message": "Design: Revert to Source Sans Pro.\n\nWhile Fira Sans looks nice, it is too wide for the overall design.\nSource Sans Pro conserves space and is therefore the better choice for\nnow.\n\nChange-Id: I84bfef149ce52c698ffe8ac3371efbc671c65b6f\n"
    },
    {
      "commit": "a9af15f9d0e8d278ed1946e1e503082d536c147a",
      "tree": "8dd0fc2fc07be9314b14c5da5922fac567f36ec5",
      "parents": [
        "8fac69d6a6f9f60422946aa7c6cbeb39a69396e6"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Sep 12 11:01:18 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Sep 12 11:01:53 2020 +0200"
      },
      "message": "Design: Use Iosevka and Fira Sans as the main fonts.\n\nChange-Id: Ie9652ab9d2ea8e7f331eb52de7aaea77594cd8d3\n"
    },
    {
      "commit": "8fac69d6a6f9f60422946aa7c6cbeb39a69396e6",
      "tree": "ed34546e369194e0811b789f1296e5c048ab4a13",
      "parents": [
        "299f5a5ff90d35f705a5d59bf78ec066a05e9b1a"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Sep 12 10:19:22 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Sep 12 10:19:22 2020 +0200"
      },
      "message": "Give the sidebar minimal width.\n\nChange-Id: I6a4edd89800726a37a9f295a5b50286878325adf\n"
    },
    {
      "commit": "299f5a5ff90d35f705a5d59bf78ec066a05e9b1a",
      "tree": "71e95eba871c19a5c0c602b14fe9fa39a2f335c2",
      "parents": [
        "652bd2cd359acc81dd4c734ef49b9e3fd2168306"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Sep 11 20:25:19 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Sep 11 20:25:19 2020 +0200"
      },
      "message": "KB56 PostText: Inherit from PanacheEntityBase.\n\nPostText did not inherit from PanacheEntityBase.  This meant that\nautomatic setter and getter generation (and thus dirtiness tracking)\nwas not working, making updates to existing post texts impossible.\n\nChange-Id: I0901b15acc73827276322feb000831a8e93d5717\n"
    },
    {
      "commit": "653eaa798fff0061816df7fd5992b945528911e9",
      "tree": "1e905e9b2ccb2df0d0b283bffb564d7bb4a7f296",
      "parents": [
        "cb6638a6ac312de603948abc081016179bf788b7"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Sep 11 09:47:43 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Sep 11 09:47:43 2020 +0200"
      },
      "message": "KB56 Add Rochester font, use for the login name.\n\nChange-Id: Iada14b30e17e1c006939009c423593bde6c3799e\n"
    },
    {
      "commit": "cb6638a6ac312de603948abc081016179bf788b7",
      "tree": "4ca0da4902779fffaeb757443474e50183642b40",
      "parents": [
        "3000a6a7a1abe4792ea95f6611844be5b34c2fb5"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Sep 10 16:00:54 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Sep 10 16:01:08 2020 +0200"
      },
      "message": "KB56 Move AboutResource.java back to where it belongs.\n\nChange-Id: I13151679db9aa75c4e9cd04d0d8726b408b1ab3f\n"
    },
    {
      "commit": "5758e7c9094597585c160173ebde194d70ac558a",
      "tree": "237131c2cc1d3b057b784e8306f35b1c6d44a6b3",
      "parents": [
        "4d8139fbbdcbaaac2d6b8e0b7ad379cc4d0eb62d"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Sep 10 15:42:19 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Sep 10 15:42:19 2020 +0200"
      },
      "message": "KB56 Hide wiki when not logged in.\n\nChange-Id: I060766a74bf941705ebc9653632b60bd7a248cc4\n"
    },
    {
      "commit": "4d8139fbbdcbaaac2d6b8e0b7ad379cc4d0eb62d",
      "tree": "244b42c98a4dfe548cff0dddcb0f0de8238f71ab",
      "parents": [
        "7bc7e70d76890141e5998ddfcf499ee5262c2302"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Sep 10 15:39:10 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Sep 10 15:39:10 2020 +0200"
      },
      "message": "KB56 Add login button and status box.\n\nChange-Id: I72658014b2198a1a01ffa02ad4bafcdf9d66ab2b\n"
    },
    {
      "commit": "c7997aaa07f25ba56882671397dd481547218726",
      "tree": "9184f3b2524384e6afc9bee80478b863a6afdf4a",
      "parents": [
        "eb8165185bc1f8a9888d95c88b7a5975da803dcd"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Aug 29 10:52:44 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Sep 10 14:37:10 2020 +0200"
      },
      "message": "Update settings to latest Quarkus version.\n\nChange-Id: Ice72ee120d467f822d4331fbe632bef7583b7f9b\n"
    },
    {
      "commit": "eb8165185bc1f8a9888d95c88b7a5975da803dcd",
      "tree": "38e8e4ead4476e9718923414077f7ab3e4e89c50",
      "parents": [
        "d5498fcec7394d2b89667832853e239d5f496e1c"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Aug 29 10:47:39 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Aug 29 10:47:39 2020 +0200"
      },
      "message": "Remove Scala again.\n\nAt this time, Scala support is not worth very much, and as Scala 3 is\nnot here yet the compiler slows down the build significantly.\n\nThis change may be reverted in the future.\n\nChange-Id: Ie172489284f324e8c2313919b293fdf98754c2f6\n"
    },
    {
      "commit": "d5498fcec7394d2b89667832853e239d5f496e1c",
      "tree": "3d9d6ee6c1c175c22026059f4b44b2d954fac6d9",
      "parents": [
        "e9b14f921cdaa0357aa58f4a72f930981b3042fb"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Aug 23 21:51:00 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Aug 27 21:09:12 2020 +0200"
      },
      "message": "Add localized texts to Benki post model.\n\nChange-Id: I123cfe2ff06f85dc14c705b21d723d1c68fd2e00\n"
    },
    {
      "commit": "709e226d2b4cf6935c37cebb64172731d97f5cb2",
      "tree": "1bb497f4f0266c7cc4d66db5608503bc307d14e4",
      "parents": [
        "6cc0c7a8be47bcde8716297e72c7f78979157ae9"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Aug 23 11:09:01 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Aug 23 11:09:01 2020 +0200"
      },
      "message": "Scala: More compact imports.\n\nChange-Id: I54a8ff7825ce443ad82ce34ae4c6c1a331382a6e\n"
    },
    {
      "commit": "6cc0c7a8be47bcde8716297e72c7f78979157ae9",
      "tree": "ca880b517b128f4e22d69f687ddcafb21de06e5c",
      "parents": [
        "20b21e2b8f0ee83fa3b2c6e9dbbbfea1646933e5"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Aug 22 20:13:28 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Aug 22 20:13:28 2020 +0200"
      },
      "message": "Scala: Fewer semicolons.\n\nChange-Id: I1ca6f4b4bcd732602f16c7114d7bb91c5a5fcd92\n"
    },
    {
      "commit": "20b21e2b8f0ee83fa3b2c6e9dbbbfea1646933e5",
      "tree": "0434c949147e282d09cf5380b9d63e4fbc6eada5",
      "parents": [
        "47587c20b10526c679cd44b4dea8aa2cabe8a737"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Aug 22 20:12:42 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Aug 22 20:12:42 2020 +0200"
      },
      "message": "Scala: Stylistic improvements.\n\nChange-Id: I6f6cc25dd432d43e89e7bb54fa101be9da157754\n"
    },
    {
      "commit": "3f986ef2726c9103081d3782e9149dc11cdfa62e",
      "tree": "51c9ba5cf91c7009d2564b25310054fec5bffb20",
      "parents": [
        "7e71d1c86f44617cfd09caedff1107bdcf27b255"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Aug 22 13:28:33 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Aug 22 13:28:33 2020 +0200"
      },
      "message": "Add Scalafmt to Spotless configuration.\n\nChange-Id: I789221c34222c263507ade58efda3bf29a6a7fdb\n"
    },
    {
      "commit": "7e71d1c86f44617cfd09caedff1107bdcf27b255",
      "tree": "a5610b34b21dfbd1429937a5e6fbd2a9df534cbe",
      "parents": [
        "43d59d3bb3448cdd1b43b7ad0aa085ed143eb4ef"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Apr 16 17:07:59 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Aug 22 13:28:21 2020 +0200"
      },
      "message": "Add Scala compiler.\n\nChange-Id: I68ffcf35b1b6ea2e42a479bdb71f868a486781db\n"
    },
    {
      "commit": "eea91303ee3b9eb5d7a46bb871bff8f9c4b31135",
      "tree": "f455990b805caf98e038c8d0376c9d79f4b5656d",
      "parents": [
        "aa196aa9a66b8417edf9d21db3796be88be37d81"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jul 18 12:39:24 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jul 18 12:39:24 2020 +0200"
      },
      "message": "Docker: Switch to openjdk:14 as the base image.\n\nChange-Id: Iff9a94d8069099ee38051c9f89b4f20cbf713bcc\n"
    },
    {
      "commit": "e2d42e9f2919cb483f26e1c8dc2427c8ea0f0c79",
      "tree": "1ad8ad0bc0a43bcdc54efd697b140462382094dc",
      "parents": [
        "1b6d401f0538840efa406a035a686b4ffd1aa541"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Jun 16 21:08:30 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Jun 16 21:08:30 2020 +0200"
      },
      "message": "POM: Do not build and push container image by default.\n\nChange-Id: I508f1ab70a1d9e1c82acb81a94b9ab2787153dad\n"
    },
    {
      "commit": "1b6d401f0538840efa406a035a686b4ffd1aa541",
      "tree": "a00d0f0adba7d815214b76ff484f1440353c1ef3",
      "parents": [
        "57065722948232cd953cd11b2168a4e1ae1898b4"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Jun 16 07:05:52 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Jun 16 07:05:52 2020 +0200"
      },
      "message": "Remove hibernate.properties.\n\nChange-Id: Idc1c2a477f988174ea4ee4658ea6b6dfaab77b86\n"
    },
    {
      "commit": "a49e13a728598b3bcdce613b3854dddaeaf97457",
      "tree": "e2fa290d387ca0df8ab4c5731a8d2ee810322aaf",
      "parents": [
        "89c25ea73ec35e8de47380b33295f6945b8334d8"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jun 15 21:01:23 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jun 15 21:01:23 2020 +0200"
      },
      "message": "Specify Accept header in Fetch requests.\n\nChange-Id: I6634b9c6abc0ad7a688d4d3aa4e16349ad996cff\n"
    },
    {
      "commit": "813e5971c52df6961fe28569597144332e12984b",
      "tree": "38fa09b4253a2160ffa4e812199f84f34424ccde",
      "parents": [
        "96ed854c16164c6e3fc269923f0e5dc9ae9287c9"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jun 14 19:27:42 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jun 14 20:50:35 2020 +0200"
      },
      "message": "Add Parcel bundler to build process.\n\nChange-Id: Iade8364efa0d2ce9443b67e20bf09ea93a3d7bcd\n"
    },
    {
      "commit": "96ed854c16164c6e3fc269923f0e5dc9ae9287c9",
      "tree": "7f126975baa7fe63ea4181a50970fedf641c86e8",
      "parents": [
        "57da5c9338fe381e5ac7e9411ce003ac4d7d05f0"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jun 14 17:22:30 2020 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jun 14 17:48:30 2020 +0200"
      },
      "message": "Update JavaScript dependencies.\n\nChange-Id: I9173887632b212c07c88f49b1315d1922f980575\n"
    },
    {
      "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"
    }
  ],
  "next": "8075e59b7dbbe9018977824eb71909022669a4f5"
}
