)]}'
{
  "log": [
    {
      "commit": "131530a54d0f72b820b027606231744e3a09b9ef",
      "tree": "d288b74f18adb46ab6917e506dc78616fd0463c7",
      "parents": [
        "41114a2a27047bf1884e092b98c6298c128eb2f0"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jul 29 20:37:49 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jul 29 20:37:49 2021 +0200"
      },
      "message": "patch 8.2.3245: the crypt key may appear in a swap partition\n\nProblem:    The crypt key may appear in a swap partition.\nSolution:   When using xchaha20 use sodium_mlock(). (Christian Brabandt,\n            closes #8657)\n"
    },
    {
      "commit": "8a4c812ede5b01a8e71082c1ff4ebfcbf1bd515f",
      "tree": "2da838678bac4dd3d5fa1681e818517421e0e86b",
      "parents": [
        "3ed0d9379683246a77aa8c1a59da7a0ac6395339"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Jul 25 14:36:05 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jul 25 14:36:05 2021 +0200"
      },
      "message": "patch 8.2.3218: when using xchaha20 crypt undo file is not removed\n\nProblem:    When using xchaha20 crypt undo file is not removed.\nSolution:   Reset \u0027undofile\u0027 and delete the file. (Christian Brabandt,\n            closes #8630, closes #8467)\n"
    },
    {
      "commit": "226b28b96150e59375d2bff44e0aadd382b0c3f1",
      "tree": "ca0225ef8907a75b2dcc0296f0378939bb53cb21",
      "parents": [
        "22f17a29cd0b0cc3107dc6cd1d96c62eee52a7d9"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Jun 21 21:08:08 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jun 21 21:08:08 2021 +0200"
      },
      "message": "patch 8.2.3032: build problems with MSVC, other crypt issues with libsodium\n\nProblem:    Build problems with MSVC, other crypt issues with libsodium.\nSolution:   Adjust MSVC makefile. Disable swap file only when \u0027key\u0027 is set.\n            Adjust error message used when key is wrong.  Fix Coverity issues.\n            (Christian Brabandt, closes #8420, closes #8411)\n"
    },
    {
      "commit": "cb54bc65625abad9a0af501acac5c70fba17e2cc",
      "tree": "8a77eccb36f2e2102ec2b67a947b26b618748dd6",
      "parents": [
        "035bd1c99f2a8eda5ee886adde4f97ea71fb167f"
      ],
      "author": {
        "name": "Dominique Pelle",
        "email": "dominique.pelle@gmail.com",
        "time": "Mon Jun 21 20:15:37 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jun 21 20:15:37 2021 +0200"
      },
      "message": "patch 8.2.3030: Coverity reports a memory leak\n\nProblem:    Coverity reports a memory leak.\nSolution:   Fix the leak and a few typos. (Dominique Pellé, closes #8418)\n"
    },
    {
      "commit": "f573c6e1ed58d46d694c802eaf5ae3662a952744",
      "tree": "9d3ccf4402f322b9d1baf130696a6b0e600ae693",
      "parents": [
        "208f0b48b2c616b29f377a1408290111ed2663f7"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Jun 20 14:02:16 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 20 14:02:16 2021 +0200"
      },
      "message": "patch 8.2.3022: available encryption methods are not strong enough\n\nProblem:    Available encryption methods are not strong enough.\nSolution:   Add initial support for xchaha20. (Christian Brabandt,\n            closes #8394)\n"
    },
    {
      "commit": "c667da5185ce5dce914d2006d62da2be0cedb384",
      "tree": "cd06b08e9fb7d701653850cd33524d3f1f5acaaf",
      "parents": [
        "71136db1bfbc67c2e55f8070cdf0a241c643e45b"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 30 20:52:27 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 30 20:52:27 2019 +0100"
      },
      "message": "patch 8.1.2368: using old C style comments\n\nProblem:    Using old C style comments.\nSolution:   Use // comments where appropriate.\n"
    },
    {
      "commit": "32aa10203bd0b4b270def03311a4599f9ffdecc4",
      "tree": "4c0188d20dcc6873e6d96f5a28b59bedcb8ebb0c",
      "parents": [
        "70def98a957620cc325d1ab6ee35f13187598693"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 02 22:54:41 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Nov 02 22:54:41 2019 +0100"
      },
      "message": "patch 8.1.2243: typos in comments\n\nProblem:    Typos in comments.\nSolution:   Fix the typos. (Dominique Pelle, closes #5160)  Also adjust\n            formatting a bit.\n"
    },
    {
      "commit": "c799fe206e61f2e2c1231bc46cbe4bb354f3da69",
      "tree": "68b3d2a8bb82519e29fc95f317d2ee02b07f95fa",
      "parents": [
        "b58a4b938c4bc7e0499700859bd7abba9acc5b11"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 28 23:08:19 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue May 28 23:08:19 2019 +0200"
      },
      "message": "patch 8.1.1414: alloc() returning \"char_u *\" causes a lot of type casts\n\nProblem:    Alloc() returning \"char_u *\" causes a lot of type casts.\nSolution:   Have it return \"void *\". (Mike Williams)  Define ALLOC_ONE() to\n            check the simple allocations.\n"
    },
    {
      "commit": "51e14387f120392b74b84408cafec33942337a05",
      "tree": "43d2b2077c404671de3f7fdfc5bc90930aa53d09",
      "parents": [
        "682725c1415f50681877df60257115a966e2a3d4"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 25 20:21:28 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 25 20:21:28 2019 +0200"
      },
      "message": "patch 8.1.1393: unnecessary type casts\n\nProblem:    Unnecessary type casts.\nSolution:   Remove type casts from alloc() and lalloc() calls. (Mike Williams)\n"
    },
    {
      "commit": "6ee9658774942f7448af700fc04df0335796a3db",
      "tree": "87f99c37e22f07e73e244da78686c7e59a8457f1",
      "parents": [
        "00aa069db8132851a91cfc5ca7f58ef945c75c73"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 27 22:06:37 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 27 22:06:37 2019 +0200"
      },
      "message": "patch 8.1.1219: not checking for NULL return from alloc()\n\nProblem:    Not checking for NULL return from alloc().\nSolution:   Add checks. (Martin Kunev, closes #4303, closes #4174)\n"
    },
    {
      "commit": "ad3ec76bb8030b9a1d3f0a49c374d0de2383b977",
      "tree": "6cc66e85aa0b54ce4ee2e9fcd47987963f022c57",
      "parents": [
        "037c54f261818439755d56e318da068f97997fb5"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 21 00:00:13 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 21 00:00:13 2019 +0200"
      },
      "message": "patch 8.1.1194: typos and small problems in source files\n\nProblem:    Typos and small problems in source files.\nSolution:   Small fixes.\n"
    },
    {
      "commit": "bdace838c67c1bd94e55e34270a8325933891466",
      "tree": "cf80ca41305e4c04a2ccb293b6634b20fb235fbe",
      "parents": [
        "d82a81cad93708a6c180e59119db4818cc38c1a9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 02 10:13:42 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 02 10:13:42 2019 +0100"
      },
      "message": "patch 8.1.0989: various small code ugliness\n\nProblem:    Various small code ugliness.\nSolution:   Remove pointless NULL checks. Fix function calls. Fix typos.\n            (Dominique Pelle, closes #4060)\n"
    },
    {
      "commit": "32526b3c1846025f0e655f41efd4e5428da16b6c",
      "tree": "e9f3ea5e0daaada049e905b5f1b38b4a45511f3d",
      "parents": [
        "d383c92ec1d14ffd5c3802f0ffd763e91d547fa8"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 19 17:43:09 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 19 17:43:09 2019 +0100"
      },
      "message": "patch 8.1.0779: argument for message functions is inconsistent\n\nProblem:    Argument for message functions is inconsistent.\nSolution:   Make first argument to msg() \"char *\".\n"
    },
    {
      "commit": "987411db9e4b76b524d0579db21074be0bffd61b",
      "tree": "215f2c2b7c988b5572e645cbb52c73d65b6bad2a",
      "parents": [
        "0314236aabcb2ca9d0b74074dadecf68d7c7ed5f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 18 22:48:34 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 18 22:48:34 2019 +0100"
      },
      "message": "patch 8.1.0773: not all crypt code is tested\n\nProblem:    Not all crypt code is tested.\nSolution:   Disable unused crypt code.  Add more test coverage.\n"
    },
    {
      "commit": "f9e3e09fdc93be9f0d47afbc6c7df1188c2a5a0d",
      "tree": "a6b07005c19279a4f5d01be14f14861c2657fa95",
      "parents": [
        "05500ece6282407f9f7227aaf564e24147326863"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 13 23:38:42 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 13 23:38:42 2019 +0100"
      },
      "message": "patch 8.1.0743: giving error messages is not flexible\n\nProblem:    Giving error messages is not flexible.\nSolution:   Add semsg().  Change argument from \"char_u *\" to \"char *\", also\n            for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes\n            #3302)  Also make emsg() accept a \"char *\" argument.  Get rid of\n            an enormous number of type casts.\n"
    },
    {
      "commit": "d23a823669d93fb2a570a039173eefe4856ac806",
      "tree": "617130258eae70e3bd7ef7b6da9c494ffee7b572",
      "parents": [
        "42443c7d7fecc3a2a72154bb6139b028438617c2"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 10 18:45:26 2018 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 10 18:45:26 2018 +0100"
      },
      "message": "patch 8.0.1496: clearing a pointer takes two lines\n\nProblem:    Clearing a pointer takes two lines.\nSolution:   Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,\n            closes #2629)\n"
    },
    {
      "commit": "edf3f97ae2af024708ebb4ac614227327033ca47",
      "tree": "82fed9ebfc85a69d3cff613f9dab11c8750fad8b",
      "parents": [
        "965ed14973fd3f1b2aace7bae4d4722b71ca04f9"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 29 22:49:24 2016 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Aug 29 22:49:24 2016 +0200"
      },
      "message": "patch 7.4.2293\nProblem:    Modelines in source code are inconsistant.\nSolution:   Use the same line in most files.  Add \u0027noet\u0027.  (Naruhiko Nishino)\n"
    },
    {
      "commit": "7454a06e2642d2b37afad1c5e71cec68081ca4ff",
      "tree": "8b38e652321d9591a2f57e44b9bdc1f590837f7b",
      "parents": [
        "305598b71261265994e2846b4ff4a4d8efade280"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 30 15:14:10 2016 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 30 15:14:10 2016 +0100"
      },
      "message": "patch 7.4.1205\nProblem:    Using old style function declarations.\nSolution:   Change to new style function declarations. (script by Hirohito\n            Higashi)\n"
    },
    {
      "commit": "3a0c90898338c04bde314bede9f116f299eaddef",
      "tree": "52c90925ed68b802fd1e0a4e943876a53532acf0",
      "parents": [
        "983c4e93dc560b00c5c7b752a3a7c1c452359c38"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Nov 12 15:15:42 2014 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Nov 12 15:15:42 2014 +0100"
      },
      "message": "updated for version 7.4.509\nProblem:    Users are not aware their encryption is weak.\nSolution:   Give a warning when prompting for the key.\n"
    },
    {
      "commit": "9b8f021d93de3a2a2905d0e46b9f0b6dbb3e12f9",
      "tree": "fa60f4b35b5721fe7932c21d4569c6ec51519da0",
      "parents": [
        "2be795084f053928879d758443e199ef147cc07e"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 13 22:05:53 2014 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 13 22:05:53 2014 +0200"
      },
      "message": "updated for version 7.4.404\nProblem:    Windows 64 bit compiler warnings.\nSolution:   Add type casts. (Mike Williams)\n"
    },
    {
      "commit": "8f4ac01544b44bdd906d241e4f203de7496e5ac8",
      "tree": "52ee7ff7368d7953f2baa3d7d015c539b11a345e",
      "parents": [
        "0106b4b89127b043eddf711c750364b487deb794"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 10 13:38:34 2014 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Aug 10 13:38:34 2014 +0200"
      },
      "message": "updated for version 7.4.399\nProblem:    Encryption implementation is messy.  Blowfish encryption has a\n            weakness.\nSolution:   Refactor the encryption, store the state in an allocated struct\n            instead of using a save/restore mechanism.  Introduce the\n            \"blowfish2\" method, which does not have the weakness and encrypts\n            the whole undo file. (largely by David Leadbeater)\n"
    }
  ]
}
