)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "e28673d659e1b1f7a5b1a6a9c00aec18503d84a6",
      "tree": "2d06f10923a062a3b64659697a59b32b614b108d",
      "parents": [
        "310e71fd6e88cb41ddd4d448cee96a72554db177"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 09 10:51:24 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 09 10:51:24 2020 +0100"
      },
      "message": "Rename bookmarx \u003d\u003e bookmarks, lafargue \u003d\u003e lazychat.\n\nChange-Id: I0938267d9b7e8c9685f18a5e217b62df1bcab49b\n"
    },
    {
      "commit": "521718d5ef2d7a18497bc525fb15d245f6827180",
      "tree": "7cca084c323dcd96365597be3f2a7a9371f3d5ab",
      "parents": [
        "c275812ffa1382f350c24cf3967aa3fc5cdebcdb"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 09 06:47:05 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 09 06:47:05 2020 +0100"
      },
      "message": "Wiki: Add top-level redirect to Home.\n\nChange-Id: Ide7605daf4b86d71181875b25ca8a7fb747b0beb\n"
    },
    {
      "commit": "944c0b663340a6cea517d0ee1542fbb6ad4c94e6",
      "tree": "e1dc3cb9f455c77a03545c86af1a6585b98a7651",
      "parents": [
        "9aab180b33c16ae56d79c9e67b258588505f0962"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 02 13:17:48 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 02 13:17:48 2020 +0100"
      },
      "message": "Remove the JWT cookie filters again.\n\nThey were pointless: quarkus-oidc\u0027s CodeAuthenticationMechanism\nalready takes care of setting a session cookie, which it uses in\npreference over an IdP redirect.\n\nThe reason the cookie did not stick before is still unclear, but it\nwas fixed by tweaking the Keycloak settings for the MulkCMS client.\n\nChange-Id: Ie547ee0af23b6532515a990c2699ba9ffa686a5a\n"
    },
    {
      "commit": "9aab180b33c16ae56d79c9e67b258588505f0962",
      "tree": "f14fff16a77b6ba6cc3e6cdcfb8a043c20a92fe4",
      "parents": [
        "578c8657b1d7b47671644a316358872218f0f8a4"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 02 11:40:27 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Feb 02 11:40:27 2020 +0100"
      },
      "message": "Make the JwtCookieLoginFilter an IdentityProvider instead of a filter.\n\nChange-Id: I0107d66affe438739d5405bc33960a02e3bb9828\n"
    },
    {
      "commit": "2a1383f2865dff780d435e9d2a897e57879748df",
      "tree": "09716bfe1759082f88dc6df79f01b7794fb6ec3a",
      "parents": [
        "1f79d1db101b706649aed93ed36092477db7d357"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 01 23:53:17 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 01 23:53:17 2020 +0100"
      },
      "message": "Implement an alternate JWT security filter.\n\nChange-Id: Ie46b6efc24d045f90f45f7b16f17e4b84ae886c5\n"
    },
    {
      "commit": "2f5374598fbdfbf5ccdf44930706133bc7986e83",
      "tree": "ee9aa69ab33c0e7b9f2e615e0cfa675614491cd9",
      "parents": [
        "0178fa352d2045cdd27ffa2a965794684fc2d665"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jan 27 21:23:00 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jan 27 21:25:21 2020 +0100"
      },
      "message": "Wiki: Provide feedback after editing.\n\nChange-Id: I6530be803f5f4218008c07d00ad3c6f739a1eb7a\n"
    },
    {
      "commit": "97130f95f04bd5cf8363b35994e3c44f11d70f0c",
      "tree": "97a31afc7213ae64ae1a82b85d09f96865ad4d28",
      "parents": [
        "0c1536469d7e3e286bd72df8e09ac7e4a7a0c4ae"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jan 27 21:03:39 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jan 27 21:03:39 2020 +0100"
      },
      "message": "Wiki: Render WikiWord links and autolinks on the server side.\n\nChange-Id: I46f972bcebf765a3d9fb55b7b35f40deb978dc5d\n"
    },
    {
      "commit": "0c1536469d7e3e286bd72df8e09ac7e4a7a0c4ae",
      "tree": "7407da8826afb21f4ebc4886e98298a9423d8176",
      "parents": [
        "4ad837d587db9bb2b52a617ce4804c3be7b74e02"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jan 27 06:29:51 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jan 27 06:29:51 2020 +0100"
      },
      "message": "JPA: Make all element collections sets.\n\nChange-Id: I01360f982259608ba214e360d3189ac43ba59966\n"
    },
    {
      "commit": "4ad837d587db9bb2b52a617ce4804c3be7b74e02",
      "tree": "c379cc6639eaa0e1ad94802efc3a8183ef81b91a",
      "parents": [
        "d50bbb75b8018be054b840cbae6b8e0c48b514ea"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jan 27 06:29:07 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jan 27 06:29:31 2020 +0100"
      },
      "message": "JPA: Make all many-to-many collections sets.\n\nThis improves performance when inserting new elements.\n\nChange-Id: I7c85d893984deb9ac4ba93ea34075c589a27e82e\n"
    },
    {
      "commit": "d50bbb75b8018be054b840cbae6b8e0c48b514ea",
      "tree": "86d275cffe723ae04ec6d1bf92888b7ee10d4951",
      "parents": [
        "0246c3e491685e7e3169615c526d627ed989f353"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jan 27 05:53:07 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jan 27 05:53:07 2020 +0100"
      },
      "message": "Wiki: Make editing work.\n\nChange-Id: Ibff52be5c595deba96b3f7642307ba1208eff9cf\n"
    },
    {
      "commit": "0246c3e491685e7e3169615c526d627ed989f353",
      "tree": "1b9afdf237c8a196429b10902e46ffbb9fb62bed",
      "parents": [
        "553de3e77067ce6090cf8edacdc697791e03a1a5"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jan 27 05:39:08 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jan 27 05:51:43 2020 +0100"
      },
      "message": "Data model mapping: Mark all ID fields @GeneratedValue, make boxed.\n\n - Marks all SERIAL columns with @GeneratedValue.\n - Makes all SERIAL columns type Integer instead of type int.  This\n   enables Hibernate to autogenerate values on insert.\n\nChange-Id: I826d3a58e065c3dd3fa5f588a23226dfe954fb7d\n"
    },
    {
      "commit": "553de3e77067ce6090cf8edacdc697791e03a1a5",
      "tree": "fb599f7cb1f1ae5a052b707717951e7524af8761",
      "parents": [
        "acaa0570c91a2048bab3c3786dbcc8eea6d2e4d0"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jan 27 05:33:15 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jan 27 05:40:56 2020 +0100"
      },
      "message": "Benki: Clean up the data model mapping some more.\n\n - Replaces user attribute table mappings with element collections and\n   join table mappings.\n - Adds an explicit schema specifier to all join table specifiers.\n\nChange-Id: I0e251e1939faa895155cbe868220d98be2c1e70c\n"
    },
    {
      "commit": "5d07527e63fe3ebeecc19c9a05eee6791c177d06",
      "tree": "02633eab2aed9b37f23d9d03c6b49efb2d9a602a",
      "parents": [
        "c27d1cb1398bd395112315f9c6cd57dcb16b517d"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jan 26 18:05:10 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jan 26 18:05:10 2020 +0100"
      },
      "message": "Implement POST /wiki/{pageName}.\n\nChange-Id: Idf82cac81b13eb2ac4098b847f6415b01cdb0605\n"
    },
    {
      "commit": "0aac7c559d87de940238c91ff06c1d225d489ec5",
      "tree": "56c83e013bc794e2c2c3fd75a9174e9ff4bb45cc",
      "parents": [
        "acac08ebf1f65a73503f56ac47892257026275ff"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jan 26 08:05:27 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jan 26 08:11:48 2020 +0100"
      },
      "message": "Add wiki page revision list.\n\nChange-Id: I21a6ff469ef4dbf64a8d77eb4626765ae43ed37e\n"
    },
    {
      "commit": "ae402342fe5736d74cf86e21c642abbb0805ff83",
      "tree": "f46fea3076f18b2fcfb9fb6fa6fbd1370e0dfcd9",
      "parents": [
        "298dcac3717ccde4231a5f35b9a59319036d40bd"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jan 25 10:09:57 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jan 25 10:10:09 2020 +0100"
      },
      "message": "Web: Extract base template.\n\nChange-Id: I20a4fbb04aa75a94f96617b0c4d1be00ab3e4aca\n"
    },
    {
      "commit": "514273e539bbe580f142ce96d96972667b779b73",
      "tree": "31d8aaf42edf8bddac7fe76e28600b6de0e25f85",
      "parents": [
        "9222efa007b8790852dc761d09367863bf56ddf3"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 19:18:01 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 19:18:01 2020 +0100"
      },
      "message": "GET /wiki/{pageName}: Optimize HQL query.\n\nChange-Id: I2e1852aa230fed5dc106629fb9b0aa0d85a8a0cf\n"
    },
    {
      "commit": "9222efa007b8790852dc761d09367863bf56ddf3",
      "tree": "078e101d53aa8a87e06013157ddb049a48b40e7d",
      "parents": [
        "57c9a8aa7845f27cee62c423c7128b46d256fc40"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 19:11:24 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 19:11:24 2020 +0100"
      },
      "message": "Start implementing /wiki/{pageName}.\n\nChange-Id: Ia9adf24209be8eddcfec72a66434ea4100855533\n"
    },
    {
      "commit": "57c9a8aa7845f27cee62c423c7128b46d256fc40",
      "tree": "80151b1d6be8adf8a916df7d41cf39ca5197926e",
      "parents": [
        "fb769c2d96513a5e7111e195b1b7b3d5d61e8bbb"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 19:09:38 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 19:09:38 2020 +0100"
      },
      "message": "Assume that Benki entities are in the “benki” schema.\n\nSince PostgreSQL does not support multiplexing access to several\ndatabases through one connection, everything is easier if all data\nlives in separate schemas in the same database.  This change modifies\nthe Hibernate entities accordingly.\n\nChange-Id: Ibe410ab340d77f35549208daf59a15520805c23a\n"
    },
    {
      "commit": "fb769c2d96513a5e7111e195b1b7b3d5d61e8bbb",
      "tree": "3bd6a7124fd6fa3adec762b0eaaf98184e2a6b87",
      "parents": [
        "bfdbd19be74a5b66c8a4fec6c73a860caf4457c0"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 18:20:18 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 18:20:18 2020 +0100"
      },
      "message": "Rename OpenIds \u003d\u003e OpenId.\n\nChange-Id: I5d6f1764b07a56a22c883a566e31d2af0abc5736\n"
    },
    {
      "commit": "bfdbd19be74a5b66c8a4fec6c73a860caf4457c0",
      "tree": "aef0d8b638d8c94a6bedd47336d022f14f59a8d5",
      "parents": [
        "4cb34f4698d77574293d6b6a13116ad3b2f572b5"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 14:45:10 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 14:45:10 2020 +0100"
      },
      "message": "Fix build.\n\nChange-Id: I6369a9f245fa6f049c0bb18bbf1c99af2d5bedfb\n"
    },
    {
      "commit": "26de0cc9e84a2f7de8ca575801d7d9ab5f4e5da7",
      "tree": "5e18d0cb48fc895a51330d7a2d26e89a37f03eab",
      "parents": [
        "34138ba6e14c1de1d89d0789143b133ea4eb899a"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 14:44:20 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 14:44:20 2020 +0100"
      },
      "message": "Add example Qute resource.\n\nChange-Id: Ie5be7967d6d8536270873d01641f5ff825e31e07\n"
    },
    {
      "commit": "34138ba6e14c1de1d89d0789143b133ea4eb899a",
      "tree": "a627dbbc3d2f59d07094a6c51ea8122c572d4a85",
      "parents": [
        "be77d3046068bdc654a75d5ed931d480370fc745"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 14:09:09 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 14:09:09 2020 +0100"
      },
      "message": "Reformat.\n\nChange-Id: Ib15fa81caa44ecaa17fce773d06f9168695e3250\n"
    },
    {
      "commit": "be77d3046068bdc654a75d5ed931d480370fc745",
      "tree": "85f7b35aa88345877a10611a5fa9d03da28c6352",
      "parents": [
        "24a25144eaaf1c0a13b7fe746a1e453010dd14cf"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 14:08:52 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 14:08:52 2020 +0100"
      },
      "message": "Make user.ownedRole relationship @OneToOne.\n\nChange-Id: I8c0194960e15192ba36834fa666c3f9fb2826df8\n"
    },
    {
      "commit": "24a25144eaaf1c0a13b7fe746a1e453010dd14cf",
      "tree": "628679309b075430d5e837de1ead78dfe2bbcb30",
      "parents": [
        "55c42a59a51c35b3148d6da8d3a8c510b2dcdc85"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 13:25:54 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 13:25:54 2020 +0100"
      },
      "message": "Enable authentication via Keycloak.\n\nChange-Id: I81a05d2e965394b13d7344f4f20475b4e468c761\n"
    },
    {
      "commit": "b8027c67a6c0657df560cd5c952a1006878dbaf3",
      "tree": "d7fd5d6c35f17363e7aca59a30af4c4d92101219",
      "parents": [
        "aa754805d7a8353aa9b1fa6b9f3850606bde800e"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 12:09:27 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 12:09:27 2020 +0100"
      },
      "message": "Benki: Model join tables properly.\n\nChange-Id: I24bfd7a65ad72330a1862cbc408d7911263b6329\n"
    },
    {
      "commit": "aa754805d7a8353aa9b1fa6b9f3850606bde800e",
      "tree": "97a4d321e92902586e1c79c0805b5fa82a3f2a72",
      "parents": [
        "f9c742762bc08db7c3518e7d44cf7382b353d560"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 11:55:26 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 11:58:28 2020 +0100"
      },
      "message": "Set all fetch types to LAZY.\n\nChange-Id: I0b0c96fe177260ece2a68381c71c4959c3a82dcb\n"
    },
    {
      "commit": "f9c742762bc08db7c3518e7d44cf7382b353d560",
      "tree": "a1a08cf5a3c624489c4cac1a18eea54b75785686",
      "parents": [
        "d9b9588f03ec77d05e5651a88d672184c8b351a5"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 11:51:35 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 11:51:35 2020 +0100"
      },
      "message": "Replace UserVisible{Bookmark,Post,LazychatMessage} with a @ManyToMany.\n\nChange-Id: Ie807f3eed9da1e5bcaefb10104d989f3b3ddbf7b\n"
    },
    {
      "commit": "d9b9588f03ec77d05e5651a88d672184c8b351a5",
      "tree": "1527212db6672b5605bae001e3c6ef25197a5110",
      "parents": [
        "ec7f805fc62265055b36a9802c01826bdf940bc8"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 11:42:49 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 11:42:49 2020 +0100"
      },
      "message": "Benki: Sort into a sane folder structure, fix mapping bugs.\n\nChange-Id: I55f5c0349dc580a24506648284ce6483dd952d8a\n"
    },
    {
      "commit": "ec7f805fc62265055b36a9802c01826bdf940bc8",
      "tree": "eacd3de1fb51bfa70ca3c9bbd09fc26408938a6a",
      "parents": [
        "bba0fef0e4d01421cefa515fdbbfd935a4f32d4e"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 11:08:34 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 11:08:34 2020 +0100"
      },
      "message": "Move CMS-related entities into a “cms” package.\n\nChange-Id: Ie350230552fa6f970f26412b40974ca4af7a9260\n"
    },
    {
      "commit": "35cb159dcb78b6b14523dca5c041ef7dc1740906",
      "tree": "ef453b2cf2d131580b7da53ca6f8a0a09f381c82",
      "parents": [
        "734879e8c386508d12c43aaf5b938e050d47c7b7"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 11:05:20 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 11:05:20 2020 +0100"
      },
      "message": "Benki: Simplify with Panache.\n\nChange-Id: I341a9d0ded3ee20e84841bf8494ef4d4eba55b74\n"
    },
    {
      "commit": "734879e8c386508d12c43aaf5b938e050d47c7b7",
      "tree": "bcdd21dcfcf1e4d0eedda32c3487cf7655c2c803",
      "parents": [
        "2a1075511bfc72d0b254d20e18d11efe6c9e5e74"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 10:47:37 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jan 24 10:48:13 2020 +0100"
      },
      "message": "Import Benki data model.\n\nChange-Id: If17035f96afa56eb409fcab9d8038d885adf607b\n"
    },
    {
      "commit": "a412b5a67fd49c2bb977573bd256b38153a531c3",
      "tree": "3af974b3cd02f4a79ce05ee229147ac9b5da89ae",
      "parents": [
        "378b93ee52512659b0b886540b1f122a545b66ac"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jan 19 18:49:33 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jan 19 18:49:33 2020 +0100"
      },
      "message": "Category: Add #articles mapping.\n\nChange-Id: Iac78840f98950fc9d79bbbc802baf4ecc961f8b4\n"
    },
    {
      "commit": "378b93ee52512659b0b886540b1f122a545b66ac",
      "tree": "22436fd3d11c7576bd573df9ba7a9c7bb552ed28",
      "parents": [
        "e5f81e5ab1f771f03ecbe5192ce66c2ffc11056e"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jan 19 16:53:10 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jan 19 16:53:10 2020 +0100"
      },
      "message": "Reorganize packages.\n\nChange-Id: Ie40dbeb7a05edf4e847b9ca88b1d9179e50dee5f\n"
    },
    {
      "commit": "a5ae4e6a1b24ea8655f89b4aec672c5520f6e0d7",
      "tree": "c7ac4daf86fd4c1a4532ce17a5ab4af5c224ee22",
      "parents": [
        "9a8d70f3fab9915b8e82e7c2e340c4217c6e00fb"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jan 13 13:27:10 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Jan 14 17:50:00 2020 +0100"
      },
      "message": "Disable Scala, use Java everywhere.\n\nChange-Id: Ieec7d20f3e7d7a15e7db951d2a0b4ebdcf8503a5\n"
    },
    {
      "commit": "9642ddd2ce07eaea03319a10fdf96c3683b934f1",
      "tree": "fdac913118d4e7b679ae8aa018b2e1e0a30c6183",
      "parents": [
        "571fd8525478424e1aa328b3170fc0804b2d33fc"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jan 12 20:30:47 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jan 12 20:30:47 2020 +0100"
      },
      "message": "Implement equals() and hashCode for composite ID classes.\n\nChange-Id: I7fd6be62f62f8dc43fa2863f52287654d307e8e0\n"
    },
    {
      "commit": "571fd8525478424e1aa328b3170fc0804b2d33fc",
      "tree": "9cb5c1300d8220441ad49e5b90d5d1dfd9f6a84b",
      "parents": [
        "4be112f6ad6ca385fabfa572233fb9db3c8b36e4"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jan 12 20:30:21 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jan 12 20:30:21 2020 +0100"
      },
      "message": "Simplify JPA entities with Panache.\n\nChange-Id: I09cbea27e6f81e4092dcbbc2f56e5abb9494a945\n"
    },
    {
      "commit": "366d8eb7448f2eeb253dfc76e724af5ec3137109",
      "tree": "90f97ba6d77c8008eaf3746bdb820be8e50fb86f",
      "parents": [
        "764e4d18e9ce5ab0db5d337432d38ce61463545e"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jan 12 16:46:36 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jan 12 16:46:36 2020 +0100"
      },
      "message": "Add fetch \u003d FetchType.LAZY to all relationship declarations.\n\nChange-Id: I22435019234ed092ae07ffd8e61b212416b4dd0f\n"
    },
    {
      "commit": "764e4d18e9ce5ab0db5d337432d38ce61463545e",
      "tree": "c311c51d12334208a46b3d6963b5391b878d1e32",
      "parents": [
        "5cd91aba8342c9ab0d76a6fe35d33039eec8165f"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jan 12 16:46:13 2020 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jan 12 16:46:13 2020 +0100"
      },
      "message": "Move Java files from src/main/scala to src/main/java.\n\nChange-Id: I80c9b4cea5e50a4467ea75e9b425409fdbe36aa1\n"
    }
  ]
}
