)]}'
{
  "log": [
    {
      "commit": "4ec4224e491341a3f26f4441abc9e3c28070ca58",
      "tree": "75558e5a0bc6292ced95e47adc4cb2292e77b668",
      "parents": [
        "f63b35e399130958a27c5994ed598497d45230c8"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jul 05 15:05:09 2025 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jul 05 17:11:09 2025 +0200"
      },
      "message": "Bookmark: Add UI to edit the \u0027via\u0027 field.\n\nChange-Id: I2803622d248e0d59a7178382126ad573441c02f9\n"
    },
    {
      "commit": "bb5afc397d6614ffd3a7d31201fcef9793af8466",
      "tree": "53fdfa4b5b4df841dd31738abb0648b612b6e1f3",
      "parents": [
        "4680b8c94de43569321b29b12deae5a5caf83d49"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jul 05 11:09:54 2025 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jul 05 17:09:38 2025 +0200"
      },
      "message": "Bookmark: Add \u0027via\u0027 field.\n\nChange-Id: I5ed1f14b59bcb7163c2c7d64ba895b00c44dd31c\n"
    },
    {
      "commit": "df767ed7e2b8d307b53201279c06cdb920c88148",
      "tree": "190e0ff5cab3bc210d5024e820ece500875f616a",
      "parents": [
        "9cff6e2f790b7f585c7f3a8dc5398b8dbe2d8554"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Jul 03 20:09:34 2025 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jul 04 05:10:19 2025 +0200"
      },
      "message": "Reformat.\n\nChange-Id: I5051f8e2245257e2cbf3eb640bb2ee6fdf5f8caf\n"
    },
    {
      "commit": "9cff6e2f790b7f585c7f3a8dc5398b8dbe2d8554",
      "tree": "d8655602fdb709339422b6d7a84ebf27815b6c45",
      "parents": [
        "5885dad9b66a100423e4b1f856bd10ae00792258"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Jul 03 20:02:00 2025 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jul 04 05:10:18 2025 +0200"
      },
      "message": "Revert \"Use Blaze Persistence for criteria queries.\"\n\nThis reverts commit ab36adbbc22fcd156ddce528a9ff5e5103623342.\n\nChange-Id: I335ec7d02bd0d53655ca4b07bed9ee4a0c01ce04\n"
    },
    {
      "commit": "5885dad9b66a100423e4b1f856bd10ae00792258",
      "tree": "01da63ccb3e6e4bf38c12a9d149a8374d8969521",
      "parents": [
        "34f88a25dc4377349bb540acac5d82ee4c1af6cf"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu Jul 03 19:56:00 2025 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jul 04 05:10:00 2025 +0200"
      },
      "message": "Hibernate: Specify explicit select clause in find calls.\n\nChange-Id: I7308937c003aaa4cd4c16decd305154ebc146824\n"
    },
    {
      "commit": "34f88a25dc4377349bb540acac5d82ee4c1af6cf",
      "tree": "ebddbae7983a5b4bba3ff2e1405175e10ea21992",
      "parents": [
        "1970d6e17fb6e36dddd2a5136615f4e2ffb3e3c3"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Jul 02 22:15:14 2025 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Fri Jul 04 05:09:32 2025 +0200"
      },
      "message": "Update to Quarkus 3.24.2.\n\nThanks, Claude!\n\nChange-Id: I3b09f37a78a9135cd0b1cbaab57ec32a2bb15ac7\n"
    },
    {
      "commit": "d632fb0c673c9fe0647bdf27161f32cb0085a431",
      "tree": "dd4fcca8e5f348389c98e153b01be379df82fae2",
      "parents": [
        "11a3922ec6aae6c806eafddc37f93a8e83a5974a"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Dec 02 13:38:02 2023 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Dec 02 13:38:02 2023 +0100"
      },
      "message": "Simplify POM, add more precise JPA annotations.\n\nChange-Id: I2ad299c90d578c2151b2f0b0394d50d3dab3d24f\n"
    },
    {
      "commit": "37dce40a77b888bc8f676c2d0eb4bff93b6fb22c",
      "tree": "46e199235135b0a5214758c9d7a7911b67f9b944",
      "parents": [
        "a3ecc51397ad9da6c028db7fa532cbfcd18d21e2"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Sep 06 13:51:43 2023 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Sep 06 13:53:17 2023 +0200"
      },
      "message": "Change from RESTEasy Classic to RESTEasy Reactive.\n\nChange-Id: I3a3386c3a3a380b8217ac1667cc623625aeee532\n"
    },
    {
      "commit": "449afba6c208774c1d41a34671e2b4a69c857431",
      "tree": "e89a3c3aea981543787d2e829815d2cca0670fee",
      "parents": [
        "66d49a3f76728945a0b8221bbcc6c54612967b9c"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Aug 29 20:35:51 2023 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Aug 29 20:35:51 2023 +0200"
      },
      "message": "Remove dots after question mark titles.\n\nFixes: #18\nChange-Id: I2915d246e2b614da69c2761864a3e5bd5300db14\n"
    },
    {
      "commit": "66d49a3f76728945a0b8221bbcc6c54612967b9c",
      "tree": "c95dc11e578a56112ca58a21af3418772736b150",
      "parents": [
        "120a5ac3bfd2747cc68de8a1398a3b43a1795713"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Aug 29 16:24:32 2023 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Aug 29 16:24:32 2023 +0200"
      },
      "message": "Fetch comments separately.\n\nThis avoids in-memory fetch limit application.\n\nChange-Id: I37535d4e085a8be6602e45fe4a96df2b36176fd7\n"
    },
    {
      "commit": "cc90c354846a7edb8b73c1bf4ad5aa90094a02bc",
      "tree": "ffe1147b79401cd15986ed0b4a855dbe3e1ec118",
      "parents": [
        "267f1fca29697f16e1908c3d8efd39837f7e08d8"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Aug 07 19:46:43 2023 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Aug 07 19:46:43 2023 +0200"
      },
      "message": "HibernateFunctionContributor: Use websearch_to_tsquery database function.\n\nChange-Id: I753550e35d911a3adf428a2b789e5b30418248e1\n"
    },
    {
      "commit": "267f1fca29697f16e1908c3d8efd39837f7e08d8",
      "tree": "72e9e8dfca47823d454dcec19390944505de4486",
      "parents": [
        "b9daaa2028986415ac70ef8a892a50eb9214dd66"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Aug 07 19:46:03 2023 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Aug 07 19:46:03 2023 +0200"
      },
      "message": "HibernateFunctionContributor: Fix parameter types.\n\nChange-Id: I960825eac14ece945c5b52e6889bfce6504b0821\n"
    },
    {
      "commit": "b4a5bfd4b7cc3ac888ae37a973c38aaef0f0af97",
      "tree": "0313f7cf83727f8574d0911e615c58bb20f51cef",
      "parents": [
        "5326f5ef3027ed24666a82a4820a0f4ad3c4d280"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Aug 06 21:57:45 2023 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Aug 06 21:57:45 2023 +0200"
      },
      "message": "More Hibernate 6.2 compatibility.\n\nChange-Id: Ib06822de4e2d64419a8285c0a46b2d8931cea4c8\n"
    },
    {
      "commit": "5326f5ef3027ed24666a82a4820a0f4ad3c4d280",
      "tree": "66e0d061927eb99b0e444bf6520b5aec54b9d4e1",
      "parents": [
        "2b3aff0382643f8c58d183769818ec62acd498d8"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Aug 06 21:34:08 2023 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Aug 06 21:35:11 2023 +0200"
      },
      "message": "Revert \"De-generics-ize Post, PostText.\"\n\nThis reverts commit 475bf006583288e6544374ba7c5d085f0b4235f2.\n\nChange-Id: I78bc6e061c3cd8ecc7c8794168596e26de1e6af8\n"
    },
    {
      "commit": "2b3aff0382643f8c58d183769818ec62acd498d8",
      "tree": "b4dc562636c654f60a67dd29d61ca76925fc847b",
      "parents": [
        "2fa30295863c83e7cdf160164b52ace9c22775ec"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Aug 06 21:23:48 2023 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Aug 06 21:23:48 2023 +0200"
      },
      "message": "PostTextPK: Rely on basic columns only.\n\nThis seems to make Hibernate happier and less confused.\n\nChange-Id: I15709c54b7eddd1cc65f651738f673bf02331174\n"
    },
    {
      "commit": "2fa30295863c83e7cdf160164b52ace9c22775ec",
      "tree": "156b9b7b0c5d45d112c1af6a2fa8603811fdfce1",
      "parents": [
        "475bf006583288e6544374ba7c5d085f0b4235f2"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Aug 06 21:21:50 2023 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Aug 06 21:22:32 2023 +0200"
      },
      "message": "Fix various Hibernate mapping oversights.\n\nChange-Id: Iff22c68a718d6f65734e166cd08f4049ccc196ec\n"
    },
    {
      "commit": "475bf006583288e6544374ba7c5d085f0b4235f2",
      "tree": "70d778019369e1ba040e98da0d134e1ea25fc733",
      "parents": [
        "940eac59b739d1c5e9e57a225eaa9017468b14f0"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Aug 06 20:56:30 2023 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Aug 06 20:59:04 2023 +0200"
      },
      "message": "De-generics-ize Post, PostText.\n\nHibernate 6 did not like the old scheme.\n\nChange-Id: I060e077648ab54589d5b7574137c10517b4c4114\n"
    },
    {
      "commit": "e3bc3ee826b95168fed2f62f8e1019bad457e39e",
      "tree": "f1e209919af11b86e0e7e0a3a33a19d1cc91184b",
      "parents": [
        "98cee8d5ba9713c82cf66d674ac257af90d2b6ff"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Aug 06 16:21:11 2023 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Aug 06 18:46:57 2023 +0200"
      },
      "message": "Updates for Quarkus 3.\n\nChange-Id: I14aff18aa1e31944619dfb6cc57955484227b298\n"
    },
    {
      "commit": "601508f7937710040a3347ece5d94efc91ffb855",
      "tree": "85e8b04aedb38223b3af618420d447021e5755be",
      "parents": [
        "22546723aa27db95b9ababc19b38482f98129ec0"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Nov 08 21:42:59 2022 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Nov 08 21:42:59 2022 +0100"
      },
      "message": "fix(newsletter): Do not pass DISTINCT through to SQL.\n\nThis was causing an error:\n\n    ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list\n\nChange-Id: I2de3713fa1d7ca9d6f3592840a944e16cc8faa1d\n"
    },
    {
      "commit": "22546723aa27db95b9ababc19b38482f98129ec0",
      "tree": "eba7ae499bbafec387cc8b36dfc38689ab546c0b",
      "parents": [
        "a84be3bc9944ec08e361e73e043ee4aa9d4d474a"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Nov 02 05:35:08 2022 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Nov 02 05:35:27 2022 +0100"
      },
      "message": "style: Reformat.\n\nChange-Id: Ie32d4f528cec794d03536eaf402de31ab2e9468e\n"
    },
    {
      "commit": "a84be3bc9944ec08e361e73e043ee4aa9d4d474a",
      "tree": "6d7e8ba8a9f7e8923ff6dbc08444a6ba2c07e334",
      "parents": [
        "2137b35a465ae9f830519c5a8bd49cb388fd552d"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Nov 02 05:33:37 2022 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Nov 02 05:35:27 2022 +0100"
      },
      "message": "feat(wiki): Implement new Wiki page creation.\n\nChange-Id: I807147f3a4d105c08a9ffda130afec36dc13228a\n"
    },
    {
      "commit": "e59db840207551430ac9f12be6ee4aa2a594fe66",
      "tree": "28e58cc731d2cb21a55a264d3d93e53626d2fbe2",
      "parents": [
        "ead61297f615123e44313a8c16b581fbccbae6ba"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Oct 23 08:04:06 2022 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Oct 23 11:51:34 2022 +0200"
      },
      "message": "fix: TemporalExtensions: Work around template extension type resolution wonkiness.\n\nChange-Id: I3e278bd1c8b03dd55d255fab1a0ca6d94cafbdde\n"
    },
    {
      "commit": "40e7925ca10f60357ec6161685499e2f12de99fe",
      "tree": "08555f24b6fe07841f46f7628dee64a281b1ff8a",
      "parents": [
        "264283c9021e6060e45453f59e0cd6f4d6e2138b"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Oct 23 08:00:31 2022 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Oct 23 08:00:31 2022 +0200"
      },
      "message": "refactor: Consolidate Qute extensions in a separate package.\n\nChange-Id: I03526ef4f5d99db202cbbf1045e52464e2d83a9a\n"
    },
    {
      "commit": "0b2aa3b52b97a6edeeb4a9b6b5d21a5b7df2ace2",
      "tree": "21fed7968a2cca6284888a42dbd653556b1308c1",
      "parents": [
        "ef313f51eedac844078157b24da3fcce059ccf11"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jun 06 09:42:35 2022 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jun 06 09:42:35 2022 +0200"
      },
      "message": "KB66 Post: Order comments by date ascending rather than descending.\n\nChange-Id: If3205486b9a2acbc5578479395237f2d41be0c40\n"
    },
    {
      "commit": "ef313f51eedac844078157b24da3fcce059ccf11",
      "tree": "c4f376ba6f722ce0069ecb9302e281efa680bf41",
      "parents": [
        "f435e6610289cd298c9e5e5c22f30479a3ef646a"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jun 06 09:40:02 2022 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jun 06 09:41:52 2022 +0200"
      },
      "message": "KB66 NewsletterSender: Only consider top-level posts.\n\nChange-Id: I8a57dbdbad27e01297263b382ce557859d9b462d\n"
    },
    {
      "commit": "f435e6610289cd298c9e5e5c22f30479a3ef646a",
      "tree": "6ebafe9e69b2cb355de1d0e946984a31f49d532a",
      "parents": [
        "8e885426b538674286675d2566ad057cc83bcab7"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jun 05 16:27:10 2022 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jun 06 09:41:52 2022 +0200"
      },
      "message": "Upgrade to Quarkus 2.9.2.Final.\n\nChange-Id: I9cf42af869056b7c944c891d6dc008a640c82edc\n"
    },
    {
      "commit": "c980952cfbb7c14d36cdd1e4755615fd1eb3ff59",
      "tree": "82bb78095eec5b253adfe3d51711659198c330a0",
      "parents": [
        "bee2677e895eda5de109c103494791f73b56c256"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jun 05 12:31:20 2022 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jun 05 12:52:33 2022 +0200"
      },
      "message": "KB66 PostResource#postComment: Return Uni\u003cResponse\u003e.\n\nChange-Id: I58ea7a2abd24b2f45b80f401ad0506a698993a9b\n"
    },
    {
      "commit": "bee2677e895eda5de109c103494791f73b56c256",
      "tree": "8004ad3e1cd8d44acd1de7fc840603d2d9a79713",
      "parents": [
        "8dcc6ae4ee418cdfdc60c76709ad03b4814fb83a"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jun 04 21:16:44 2022 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jun 04 21:16:44 2022 +0200"
      },
      "message": "KB66 Assign comment owner if logged in.\n\nChange-Id: I63cb2c2350f5183b7fbca335df8a06425193e015\n"
    },
    {
      "commit": "8dcc6ae4ee418cdfdc60c76709ad03b4814fb83a",
      "tree": "6d7dbefe5bad6e47e324fc302e5bcde41181d768",
      "parents": [
        "1937e6a72594f98d1fa031d8220f10ccc798c2be"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jun 04 16:02:25 2022 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jun 04 16:24:24 2022 +0200"
      },
      "message": "KB66 Add comment count to post header.\n\nChange-Id: I98fd99327fdfebaddfebe3541e6b1ccb1d78fe3c\n"
    },
    {
      "commit": "1937e6a72594f98d1fa031d8220f10ccc798c2be",
      "tree": "5d78a7976b75f3196e50856577fb4a23d26617ce",
      "parents": [
        "0351a8fbbac6cfa671128513605288fb940ce94b"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jun 04 09:06:31 2022 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jun 04 16:24:24 2022 +0200"
      },
      "message": "KB66 Add comment notification email.\n\nChange-Id: I27feecfe2d4309397b116552856227eacb7e9600\n"
    },
    {
      "commit": "0351a8fbbac6cfa671128513605288fb940ce94b",
      "tree": "1613514bf7f539f6e55176e58c67885fcc91b141",
      "parents": [
        "14e59440fd5f03d046e4e329eec73560450f1467"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Thu May 26 08:05:00 2022 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jun 04 16:24:24 2022 +0200"
      },
      "message": "KB66 Add comment box.\n\nChange-Id: I9bf140ded85045b09997145ed2a9fb421fedc7d4\n"
    },
    {
      "commit": "14e59440fd5f03d046e4e329eec73560450f1467",
      "tree": "d7babd441d7ecb24c5911690cff4fcfb17be75ef",
      "parents": [
        "34453241b6b7fd5159ef26c8268cbb5cc014e22c"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue May 24 22:19:29 2022 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue May 24 22:21:07 2022 +0200"
      },
      "message": "KB66 Add comment post form.\n\nChange-Id: Iac22d115f0d1c59eb273a26d720c07f6d1b11077\n"
    },
    {
      "commit": "98f6739b473be47161199189b2c21203f93d0b6b",
      "tree": "c60ba5920fa524296e4653716904b1ae1788d103",
      "parents": [
        "51025649ffce0fd68b794d28a1b073750f517a4d"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat May 07 21:01:41 2022 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat May 07 21:01:41 2022 +0200"
      },
      "message": "MarkdownConverter: Permit abbr, acronym tags.\n\nChange-Id: I5669fa48e0ff1521838ae62e2439a5feb6b1445b\n"
    },
    {
      "commit": "51025649ffce0fd68b794d28a1b073750f517a4d",
      "tree": "ccc6b22e91eed910087b285fd8eeb64e07f239a4",
      "parents": [
        "3b2d5a13fd5243d0f6422ff52eb3a9993eb1a197"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat May 07 04:51:40 2022 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat May 07 12:01:58 2022 +0200"
      },
      "message": "Format tables with a bit more spacing.\n\nChange-Id: Iba0dcabce7a0841dbb0f5cf795cb2d684faf7462\n"
    },
    {
      "commit": "3b2d5a13fd5243d0f6422ff52eb3a9993eb1a197",
      "tree": "3c10ae3a34edfbc55007976f9294d897d5e60cd1",
      "parents": [
        "64bf1091258477f505bf07939007440f86d33254"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed May 04 07:59:13 2022 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed May 04 07:59:13 2022 +0200"
      },
      "message": "MarkdownConverter: Add AbbreviationExtension.\n\nChange-Id: Ib718177935b05b35c4be2d9979975c261e774743\n"
    },
    {
      "commit": "64bf1091258477f505bf07939007440f86d33254",
      "tree": "42b35668daadc21655b4f54753aed9b12a710a46",
      "parents": [
        "6fca8dc89c370c7bc0318be956780c5b9f4096d6"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon May 02 20:29:56 2022 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue May 03 07:37:51 2022 +0200"
      },
      "message": "MarkdownConverter: Enable FootnoteExtension.\n\nChange-Id: I6c7018edfd4e41e54390c397a3ba675d30ccabc6\n"
    },
    {
      "commit": "6fca8dc89c370c7bc0318be956780c5b9f4096d6",
      "tree": "db30747c9d20fd42481b74a35cbeb03d79e419dc",
      "parents": [
        "1ef241ddce311ef419952f71ceedfc5cd195ec30"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Apr 09 07:12:57 2022 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Apr 09 07:13:42 2022 +0200"
      },
      "message": "Post: Fix typo in bookmarks query for logged-in users.\n\nChange-Id: Ibe6cd7cbdcf3abd9af189c9dd026a8562ad2b67c\n"
    },
    {
      "commit": "1ef241ddce311ef419952f71ceedfc5cd195ec30",
      "tree": "bf427fd16a6829758e0219f1bce1beb8cd4fedbe",
      "parents": [
        "ab36adbbc22fcd156ddce528a9ff5e5103623342"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Apr 03 15:11:37 2022 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Apr 03 20:02:40 2022 +0200"
      },
      "message": "Update dependencies.\n\nChange-Id: Id97c8c7f160e67fbf9f79b00482ebd558727a38e\n"
    },
    {
      "commit": "ab36adbbc22fcd156ddce528a9ff5e5103623342",
      "tree": "f70201b4d324a495f9c956ad39a7a4312477337c",
      "parents": [
        "0dfcd14064a1eaf55acf057e4cc65ee2e4f5ef0a"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Mar 20 16:10:42 2022 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Mar 20 20:41:08 2022 +0100"
      },
      "message": "Use Blaze Persistence for criteria queries.\n\nBlaze Persistence is more flexible, but also less type-safe than JPA\nCriteria.  This change explores what the changes look like and how\nefficient the resulting queries are.\n\nChange-Id: Ia47e4f0280d451e0381f58ece297c5bc06604289\n"
    },
    {
      "commit": "0dfcd14064a1eaf55acf057e4cc65ee2e4f5ef0a",
      "tree": "fe66da40015d00da72491d72ab864052bd686dbc",
      "parents": [
        "a3661f16dd1c6ff8b1c5cce79f0ac948990c190c"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Mar 19 13:19:20 2022 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Mar 19 13:27:07 2022 +0100"
      },
      "message": "Update dependencies.\n\nChange-Id: I94904259a5d8dd4b8011ae578632fb9cd646c93e\n"
    },
    {
      "commit": "a3661f16dd1c6ff8b1c5cce79f0ac948990c190c",
      "tree": "2595f02b0ac451e2675850b633d45fad48641586",
      "parents": [
        "95cc08732df33d5c6e748fe3f0e5c88eca3d1ba0"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Aug 01 10:41:22 2021 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Aug 01 10:41:22 2021 +0200"
      },
      "message": "KB66 LazychatMessage: Make LazychatReference into a @ManyToMany association.\n\nChange-Id: I6616c0e9dc6416abcc2e85c38924e5ca7045c062\n"
    },
    {
      "commit": "95cc08732df33d5c6e748fe3f0e5c88eca3d1ba0",
      "tree": "4d91f48e3fc88166c90d560822aa31f3a505bdcd",
      "parents": [
        "9307632512461bf56615ed1cd94b429104e88dae"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jul 18 21:33:24 2021 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jul 18 21:33:24 2021 +0200"
      },
      "message": "KB66 Sanitize HTML in posts.\n\nChange-Id: I4987c74e90befb226f1bf1f06129a665f32544bf\n"
    },
    {
      "commit": "ff1fc09f1c5d974d12fbc14f70bd43ea5469152e",
      "tree": "cd36f6e612e90f1cdbf878d83d4ea9671cbb2f65",
      "parents": [
        "46022abb71e2038a145cf54916e709b262ad8b90"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jul 17 22:31:48 2021 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jul 17 22:31:48 2021 +0200"
      },
      "message": "KB66 Use a MessageLogger for logging.\n\nChange-Id: Ice21e79d23725beb104a3dcf999f5e68960e9435\n"
    },
    {
      "commit": "46022abb71e2038a145cf54916e709b262ad8b90",
      "tree": "5522aa9f77107b0220fc471fcae91fa7ba4113af",
      "parents": [
        "181286a0e97aebbc910f883530a53f5ff1048a4c"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jul 17 21:29:32 2021 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jul 17 21:29:32 2021 +0200"
      },
      "message": "KB66 Upgrade to Quarkus 2.0.2, fix authentication.\n\nChange-Id: I251fbdbe915e32aaeb8daa087691853da17f4799\n"
    },
    {
      "commit": "49b01519bbfcd4219ce77ff9ef7497d4ab1458e0",
      "tree": "0be6ff32ffab41e5a20503b0aa68ec72fd943644",
      "parents": [
        "2f931dece84c0f3f974cbf0d8863046b9268277d"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jul 05 06:45:54 2021 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jul 05 07:46:10 2021 +0200"
      },
      "message": "KB66 Use type-safe templates everywhere.\n\nChange-Id: I879e76e5bbaf91349f6df4637d9dc15291a3ada1\n"
    },
    {
      "commit": "2f931dece84c0f3f974cbf0d8863046b9268277d",
      "tree": "3a03d9259a701992c2def8a4dc466de08aa33e5c",
      "parents": [
        "a50ac8daab5f90dbf329446cc20c9e9458f24402"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jun 28 20:56:50 2021 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jul 04 18:38:53 2021 +0200"
      },
      "message": "KB66 Add editor role.\n\nChange-Id: Ibcf94b6532ccb1602bf169ffb434b75557767598\n"
    },
    {
      "commit": "a50ac8daab5f90dbf329446cc20c9e9458f24402",
      "tree": "81241eba77a1119201ded1ae07e3f2451643e153",
      "parents": [
        "d4df22db3db5a30c285a5c40f69d70ceae17ff80"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jun 28 19:58:36 2021 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Mon Jun 28 20:28:40 2021 +0200"
      },
      "message": "Update dependencies.\n\nChange-Id: Ibca1be39b37f76ad9dfe743087959559d3f65d2a\n"
    },
    {
      "commit": "d4df22db3db5a30c285a5c40f69d70ceae17ff80",
      "tree": "f2b4aab1290ebb730900fdf8f9182425c7995a2f",
      "parents": [
        "bee2f96bdf6562a1542a83f4afaea5ec648c4973"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 06 11:31:27 2021 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 06 11:31:27 2021 +0100"
      },
      "message": "Newsletter: Address to self.\n\nAn empty To: header is rejected by WEB.DE.  Therefore, adding a\nprimary recipient is necessary even if no obvious one exists.\n\nThis change makes the NewsletterSender\u0027s own address the primary\nrecipient, circumventing the problem.\n\nChange-Id: I78febdd1f57b3f5737d83334972867ec9e4781d8\n"
    },
    {
      "commit": "de46b2367752c693e4a849facca1c87d4131a844",
      "tree": "a28d4543cc3ab01204ea70fd235cf136d075b76e",
      "parents": [
        "be86a628e64acf33c694f8eda0e7d695fc51ec0f"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 06 07:51:57 2021 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Feb 06 11:14:06 2021 +0100"
      },
      "message": "Replace raw-type uses of Post with Post\u003c?\u003e.\n\nChange-Id: I3ba2094ea9471d8d86af7c8d6a537d7eb43961de\n"
    },
    {
      "commit": "67c6067083d491f7e239fe0d73a6ed16c637fb3b",
      "tree": "5d98dfa415c3e97432e88f5135a5a583eed68c32",
      "parents": [
        "4712c1ded9eced00cf7a364d173a375cdfd4686e"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jan 30 14:43:39 2021 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jan 30 14:43:39 2021 +0100"
      },
      "message": "KB66 Post: Add scope field.\n\nThe scope field defines whether a post is a top-level post or a\ncomment and is used to select posts for the main feed.\n\nChange-Id: I44363e3e67acbecff9844730a513ddb1d554afaf\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": "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"
    }
  ],
  "next": "088a21f23554624b79bf4bda58ddc11d4cf7c23c"
}
