)]}'
{
  "log": [
    {
      "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"
    }
  ]
}
