)]}'
{
  "log": [
    {
      "commit": "e6d40dcdc7227594935d2db01eca29f0e575dcee",
      "tree": "cceadc9510c19f5ba8f99e26954bf8fbef40b6d6",
      "parents": [
        "7c4516fe93d865f4ef1877181f8156b8b9331856"
      ],
      "author": {
        "name": "Ernie Rael",
        "email": "errael@raelity.com",
        "time": "Sun Mar 19 21:23:38 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 19 21:23:38 2023 +0000"
      },
      "message": "patch 9.0.1416: crash when collection is modified when using filter()\n\nProblem:    Crash when collection is modified when using filter().\nSolution:   Lock the list/dict/blob. (Ernie Rael, closes #12183)\n"
    },
    {
      "commit": "c57b5bcd22826e0852c2bc9c7d4382e1cac7cb74",
      "tree": "d5163254047cdaa5cedd5caa4745727f6124eaf3",
      "parents": [
        "1410d1841bfc4370dec1babe24c6664e06d7c9d9"
      ],
      "author": {
        "name": "dundargoc",
        "email": "gocdundar@gmail.com",
        "time": "Wed Nov 02 13:30:51 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Nov 02 13:30:51 2022 +0000"
      },
      "message": "patch 9.0.0828: various typos\n\nProblem:    Various typos.\nSolution:   Correct typos. (closes #11432)\n"
    },
    {
      "commit": "5b2a3d77d320d76f12b1666938a9d58c2a848205",
      "tree": "435466e4c1e4d0ede36dd3e499e91ffebf0166e4",
      "parents": [
        "63c84731c1802bac36c1d1a82b3ef5960b35b089"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Oct 21 11:25:30 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Oct 21 11:25:30 2022 +0100"
      },
      "message": "patch 9.0.0810: readblob() returns empty when trying to read too much\n\nProblem:    readblob() returns empty when trying to read too much.\nSolution:   Return what is available.\n"
    },
    {
      "commit": "43625762a9751cc6e6e4d8f54fbc8b82d98fb20d",
      "tree": "0261835c4d3eb079e9013ae8277531b12c1d5db2",
      "parents": [
        "4c36678ffd1f933a6d4a12415994dea15e4ccec6"
      ],
      "author": {
        "name": "K.Takata",
        "email": "kentkt@csc.jp",
        "time": "Thu Oct 20 13:28:51 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Oct 20 13:28:51 2022 +0100"
      },
      "message": "patch 9.0.0803: readblob() cannot read from character device\n\nProblem:    readblob() cannot read from character device.\nSolution:   Use S_ISCHR() to not check the size. (Ken Takata, closes #11407)\n"
    },
    {
      "commit": "11df3aeee548b959ccd4b9a4d3c44651eab6b3ce",
      "tree": "13cdeec4447038acdffe1084b3b5f91dabae038b",
      "parents": [
        "9f62ea01a08e69f44050f59469a0e64beddefac0"
      ],
      "author": {
        "name": "K.Takata",
        "email": "kentkt@csc.jp",
        "time": "Wed Oct 19 14:02:40 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Oct 19 14:02:40 2022 +0100"
      },
      "message": "patch 9.0.0795: readblob() always reads the whole file\n\nProblem:    readblob() always reads the whole file.\nSolution:   Add arguments to read part of the file. (Ken Takata,\n            closes #11402)\n"
    },
    {
      "commit": "82418263fa91792e851cb0de879d1595327d5531",
      "tree": "e14f38d9dba9dce01e0c3b6c6612ca577bf27b49",
      "parents": [
        "1936c765364d6a771cea5df9971318060db82730"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 28 16:16:15 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Sep 28 16:16:15 2022 +0100"
      },
      "message": "patch 9.0.0618: calling function for reduce() has too much overhead\n\nProblem:    Calling function for reduce() has too much overhead.\nSolution:   Do not create a funccall_T every time.\n"
    },
    {
      "commit": "368aa6908862874fdb901c534ee99033ac977e4a",
      "tree": "4a1bc5cb3a9be47356efaa73d1554208b95c8a3e",
      "parents": [
        "d32474229213276c64cb293885a975dcb406fbc9"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Tue Sep 27 11:46:48 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 27 11:46:48 2022 +0100"
      },
      "message": "patch 9.0.0601: too much indent\n\nProblem:    Too much indent.\nSolution:   Return out early from a funtion. (Yegappan Lakshmanan,\n            close #11238)\n"
    },
    {
      "commit": "f1c60d4bf10794265b828afd9c5f7eddacada10b",
      "tree": "97da67230b5a297698ea6065aca3adb0912ab751",
      "parents": [
        "6d313bec535d9ccc24f6f82025280a61caad7416"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 22 17:07:00 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Sep 22 17:07:00 2022 +0100"
      },
      "message": "patch 9.0.0548: reduce() with a compiled lambda could be faster\n\nProblem:    reduce() with a compiled lambda could be faster.\nSolution:   Call eval_expr_typval() instead of call_func() directly.\n"
    },
    {
      "commit": "8deb2b30c77035bb682ccf80b781455ac1d6038b",
      "tree": "66a1d18ad9971c123f42bd7879c56706e19be73b",
      "parents": [
        "119167265ebc7eced210a7f8ed2f4b90378f98f1"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Fri Sep 02 15:15:27 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Sep 02 15:15:27 2022 +0100"
      },
      "message": "patch 9.0.0359: error message for wrong argument type is not specific\n\nProblem:    Error message for wrong argument type is not specific.\nSolution:   Include more information in the error. (Yegappan Lakshmanan,\n            closes #11037)\n"
    },
    {
      "commit": "72bb47e38f6805050ed6d969f17591bed71f83d4",
      "tree": "2a129b54c7d20524362720c8385128d5a7c7fc41",
      "parents": [
        "58f331a05f5b7bdddf04e68b6e51a827fd0c43f0"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sun Apr 03 11:22:38 2022 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 03 11:22:38 2022 +0100"
      },
      "message": "patch 8.2.4670: memory allocation failures for new tab page not tested\n\nProblem:    Memory allocation failures for new tab page not tested.\nSolution:   Add tests with failing memory allocation. (Yegappan Lakshmanan,\n            closes #10067)\n"
    },
    {
      "commit": "420fabcd4ffeaf79082a6e43db91e1d363f88f27",
      "tree": "89938a5800078e96cdf992aca87e1c79a2f255ac",
      "parents": [
        "fb80862e49fcbcf47907fc8cdaaf5c41cb9eb06e"
      ],
      "author": {
        "name": "\u003d?UTF-8?q?Dundar\u003d20G\u003dC3\u003dB6c?\u003d",
        "email": "gocdundar@gmail.com",
        "time": "Fri Jan 28 15:28:04 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 28 15:28:04 2022 +0000"
      },
      "message": "patch 8.2.4241: some type casts are redundant\n\nProblem:    Some type casts are redundant.\nSolution:   Remove the type casts. (closes #9643)\n"
    },
    {
      "commit": "460ae5dfca31fa627531c263184849976755cf6b",
      "tree": "d94de6a24285bc10fd62ad4ae9aecb53f9a7e913",
      "parents": [
        "b37a65e4bf08c4eec4fa5b81a5efc3945fca44de"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 01 14:19:49 2022 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 01 14:19:49 2022 +0000"
      },
      "message": "patch 8.2.3967: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move more errors to errors.h.\n"
    },
    {
      "commit": "436b5adc9770a2568209dd5ab1f98bd1afc91898",
      "tree": "623dc85ee9a396b16f939f44d38138f882edc229",
      "parents": [
        "f1474d801bbdb73406dd3d1f931f515f99e86dfa"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 31 22:49:24 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 31 22:49:24 2021 +0000"
      },
      "message": "patch 8.2.3961: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move more errors to errors.h.\n"
    },
    {
      "commit": "f1474d801bbdb73406dd3d1f931f515f99e86dfa",
      "tree": "e69c4f4dcf990b7c13711f8b36e518117c14670e",
      "parents": [
        "6d0570117ac86b7979bf249de5741088212d6e17"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 31 19:59:55 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 31 19:59:55 2021 +0000"
      },
      "message": "patch 8.2.3960: error messages are spread out\n\nProblem:    Error messages are spread out.\nSolution:   Move more errors to errors.h.\n"
    },
    {
      "commit": "f973eeb4911de09258e84cb2248dc0f9392824b4",
      "tree": "81ac7737af13f9eff0d6b69306b7ed6691d23804",
      "parents": [
        "1aeccdb464d81f0af047b399cbad160307a91f7c"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Wed Dec 22 18:19:26 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Dec 22 18:19:26 2021 +0000"
      },
      "message": "patch 8.2.3871: list.c contains code for dict and blob\n\nProblem:    List.c contains code for dict and blob.\nSolution:   Refactor to put code where it belongs. (Yegappan Lakshmanan,\n            closes #9386)\n"
    },
    {
      "commit": "bc404bfb32cf2bef34050d2aeae0ea72ccf980cc",
      "tree": "31d8afcbb43b5cde41311e847caddcc199d42178",
      "parents": [
        "86b3ab4fa0de3e8884ab6a6ced2a70592b937d0f"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sun Dec 19 19:19:31 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 19 19:19:31 2021 +0000"
      },
      "message": "patch 8.2.3855: illegal memory access when displaying a blob\n\nProblem:    Illegal memory access when displaying a blob.\nSolution:   Append a NUL at the end. (Yegappan Lakshmanan, closes #9372)\n"
    },
    {
      "commit": "40bcec1bac34d34a3d4d7c5f6b2cc1f163acbd00",
      "tree": "be6586866cf712e434252f74b185d35f6a49eed3",
      "parents": [
        "4700398e384f38f752b432e187462f404b96847d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 05 22:19:27 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Dec 05 22:19:27 2021 +0000"
      },
      "message": "patch 8.2.3750: error messages are everywhere\n\nProblem:    Error messages are everywhere.\nSolution:   Move more error messages to errors.h and adjust the names.\n"
    },
    {
      "commit": "04b7b4bf7fe57375bf3c4ed3fd087fc0bb0147ba",
      "tree": "5aeffd4b0b6e1c4b286488ab1ff28bd16db76452",
      "parents": [
        "c14b57c0795671bafca14433bc376acfe6135a3a"
      ],
      "author": {
        "name": "kuuote",
        "email": "znmxodq1@gmail.com",
        "time": "Fri Dec 03 13:57:00 2021 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Dec 03 13:57:00 2021 +0000"
      },
      "message": "patch 8.2.3728: internal error when passing range() to list2blob()\n\nProblem:    Internal error when passing range() to list2blob().\nSolution:   Materialize the list first. (closes #9262)\n"
    },
    {
      "commit": "5dfe467432638fac2e0156a2f9cd0d9eb569fb39",
      "tree": "f26436377c3b39cbbd4881d7c18450e61dc0d3ef",
      "parents": [
        "f5785cf0592626ec17676e814d3ba58f5123bcda"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Tue Sep 14 17:54:30 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Sep 14 17:54:30 2021 +0200"
      },
      "message": "patch 8.2.3438: cannot manipulate blobs\n\nProblem:    Cannot manipulate blobs.\nSolution:   Add blob2list() and list2blob(). (Yegappan Lakshmanan,\n            closes #8868)\n"
    },
    {
      "commit": "80d7395dcfe96158428da6bb3d28a6eee1244e28",
      "tree": "84b3b09fe59c97f69d6248e87cf0b51dfdfd82e6",
      "parents": [
        "0eec8519424eaea7baebfda979c33dd609a4e3fa"
      ],
      "author": {
        "name": "Sean Dewar",
        "email": "seandewar@users.noreply.github.com",
        "time": "Wed Aug 04 19:25:54 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Aug 04 19:25:54 2021 +0200"
      },
      "message": "patch 8.2.3284: no error for insert() or remove() changing a locked blob\n\nProblem:    No error for insert() or remove() changing a locked blob.\nSolution:   Check a blob is not locked before changing it. (Sean Dewar,\n            closes #8696)\n"
    },
    {
      "commit": "0ad871dc4dfe1026e14931a55c225616b63f4c5b",
      "tree": "a83e1cf4e231864e182c4b9ce70c37460d2200dd",
      "parents": [
        "1b862c466ba4242857eec581f67982d265005ef4"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Fri Jul 23 20:37:56 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 23 20:37:56 2021 +0200"
      },
      "message": "patch 8.2.3206: Vim9: argument types are not checked at compile time\n\nProblem:    Vim9: argument types are not checked at compile time.\nSolution:   Add several more type checks. (Yegappan Lakshmanan, closes #8611)\n"
    },
    {
      "commit": "83494b4ac61898f687d6ef9dce4bad5802fb8e51",
      "tree": "36f06f4a70bd9a515527064cd8985029ab27c6a6",
      "parents": [
        "9bb0dad0d8283c86fddf5b950f4fbb6fb8f12741"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Tue Jul 20 17:51:51 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jul 20 17:51:51 2021 +0200"
      },
      "message": "patch 8.2.3188: Vim9: argument types are not checked at compile time\n\nProblem:    Vim9: argument types are not checked at compile time.\nSolution:   Add several more type checks, also at runtime. (Yegappan\n            Lakshmanan, closes #8587)\n"
    },
    {
      "commit": "f7e92aae1581203306a340b4c0059cc74adea9d6",
      "tree": "f8b79fac3095e0440114f421ed10ca4c9d785408",
      "parents": [
        "d23b714d8b9ed8e16ef553098acc6da0979e94fc"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 17 21:22:49 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 17 21:22:49 2021 +0200"
      },
      "message": "patch 8.2.2779: memory access error in remove() for blob\n\nProblem:    Memory access error in remove() for blob.\nSolution:   Adjust length for memmove().\n"
    },
    {
      "commit": "51e933261b984db014e858d79387a826d2626fb6",
      "tree": "29c07c5c1e9acbbffe79a9da8065c0098a094bb6",
      "parents": [
        "0995c81f2ffe276669daa004f7778ecc6f5ee09d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 17 20:44:56 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Apr 17 20:44:56 2021 +0200"
      },
      "message": "patch 8.2.2777: Vim9: blob operations not tested in all ways\n\nProblem:    Vim9: blob operations not tested in all ways.\nSolution:   Run tests with CheckLegacyAndVim9Success().  Make blob assign with\n            index work.\n"
    },
    {
      "commit": "bd6406f15db210b78fa24dece3bd021a7ac085dc",
      "tree": "5d398df80def11954b822eeb05741197249ba0ea",
      "parents": [
        "b1419268901b194b295b7cea18a1d0968f9dddfc"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Apr 14 21:30:06 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Apr 14 21:30:06 2021 +0200"
      },
      "message": "patch 8.2.2767: compiler warning for unused argument\n\nProblem:    Compiler warning for unused argument.\nSolution:   Remove the argument.\n"
    },
    {
      "commit": "0e3ff1919603ee4c4a347fdf761dbdbdeb068015",
      "tree": "db3dc3df238da3a1c44116827796157cdd3346f0",
      "parents": [
        "b47bed2f7ada4dfae78f76f27473b83507e40315"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Apr 14 20:35:23 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Apr 14 20:35:23 2021 +0200"
      },
      "message": "patch 8.2.2765: Vim9: not all blob operations work\n\nProblem:    Vim9: not all blob operations work.\nSolution:   Run more tests also with Vim9 script and :def functions.  Fix what\n            doesn\u0027t work.\n"
    },
    {
      "commit": "68452177ca4cda4a9d5f93892e437447cf9404c8",
      "tree": "67db842620f7929316586ef2883977864402bc70",
      "parents": [
        "cfc3023cb6ce5aaec13f49bc4b821feb05e3fb03"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 12 21:21:02 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 12 21:21:02 2021 +0200"
      },
      "message": "patch 8.2.2757: Vim9: blob tests for legacy and Vim9 script are separate\n\nProblem:    Vim9: blob tests for legacy and Vim9 script are separate.\nSolution:   Add CheckLegacyAndVim9Success().  Make blob index assign work.\n"
    },
    {
      "commit": "cfc3023cb6ce5aaec13f49bc4b821feb05e3fb03",
      "tree": "da16e23aca547d7eb0cf4c4026415fad30d5b00f",
      "parents": [
        "af8ea0d066d31cf3cd0a39c5c49ce0342728588d"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 11 20:26:34 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Apr 11 20:26:34 2021 +0200"
      },
      "message": "patch 8.2.2756: Vim9: blob index and slice not implemented yet\n\nProblem:    Vim9: blob index and slice not implemented yet.\nSolution:   Implement blob index and slice.\n"
    },
    {
      "commit": "66fa5fd54f550c0790d36c20124c49493b323bfa",
      "tree": "0e6367f0f6677dc61cae3033c0a2c68f4c4e2eb3",
      "parents": [
        "1dcae59957301b6b19aef49af648715f911a1378"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Oct 19 20:21:03 2020 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Oct 19 20:21:03 2020 +0200"
      },
      "message": "patch 8.2.1866: Vim9: appending to pushed blob gives wrong result\n\nProblem:    Vim9: appending to pushed blob gives wrong result.\nSolution:   Set ga_maxlen when copying a blob.\n"
    },
    {
      "commit": "8a7d6542b33e5d2b352262305c3bfdb2d14e1cf8",
      "tree": "8e5f241129a1c690ea81d697a72fb4c1704c0cb6",
      "parents": [
        "1d9215b9aaa120b9d78fee49488556f73007ce78"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 26 15:56:19 2020 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 26 15:56:19 2020 +0100"
      },
      "message": "patch 8.2.0149: maintaining a Vim9 branch separately is more work\n\nProblem:    Maintaining a Vim9 branch separately is more work.\nSolution:   Merge the Vim9 script changes.\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": "9f9fe37f6750f342255a51f158a7bb372c827f7f",
      "tree": "c140c42b9f184c0bba789f3d4ed749a1e6fb3ed4",
      "parents": [
        "c273405188cc2f19e949089cda1f92bd81610dac"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 27 23:12:12 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 27 23:12:12 2019 +0200"
      },
      "message": "patch 8.1.1763: evalfunc.c is still too big\n\nProblem:    Evalfunc.c is still too big.\nSolution:   Move dict and list functions to a better place.\n"
    },
    {
      "commit": "b7b9efbccfe17ee3f7b1bb877b7745d5bfbf0804",
      "tree": "4db93ec0c2518ed5879e9253cd4b13d7eed1970c",
      "parents": [
        "0231f8312b11a259d9cb550f3318895f6b4d76be"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 12 20:17:03 2019 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jul 12 20:17:03 2019 +0200"
      },
      "message": "patch 8.1.1671: copying a blob may result in it being locked\n\nProblem:    Copying a blob may result in it being locked.\nSolution:   Reset v_lock. (Ken Takata, closes #4648)\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": "e142a9467a7f6845a426d8db6efedf246d3c13ac",
      "tree": "003322cbd974d19d3e792d41ddb9ebcbeaaaf2db",
      "parents": [
        "8e9a24a127c4ef8833fdc3986623f96c7d04210f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 19 23:03:27 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Mar 19 23:03:27 2019 +0100"
      },
      "message": "patch 8.1.1022: may use NULL pointer when out of memory\n\nProblem:    May use NULL pointer when out of memory. (Coverity)\nSolution:   Check for blob_alloc() returning NULL.\n"
    },
    {
      "commit": "a5be9b62480a6f338a72c01e57c9edd0bca8048b",
      "tree": "175b99b7f3066c78c025858a4278c4359854a3f7",
      "parents": [
        "fb1199d934a27d338b18fe914e328346f093d3f6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 24 12:31:44 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 24 12:31:44 2019 +0100"
      },
      "message": "patch 8.1.0802: negative index doesn\u0027t work for Blob\n\nProblem:    Negative index doesn\u0027t work for Blob.\nSolution:   Make it work, add a test. (closes #3856)\n"
    },
    {
      "commit": "dd29ea18050284526174b5685781469240f5bc4a",
      "tree": "2dd4aa32dab187e6a6973303da6fcb13c4ba5d38",
      "parents": [
        "bf821bccf18453b01d25bee53e4954b02a5dd0e6"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 23 21:56:21 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 23 21:56:21 2019 +0100"
      },
      "message": "patch 8.1.0798: changing a blob while iterating over it works strangely\n\nProblem:    Changing a blob while iterating over it works strangely.\nSolution:   Make a copy of the Blob before iterating.\n"
    },
    {
      "commit": "4131fd5509b283e978e8c6161f09643b64719787",
      "tree": "7b01e6afbeaf439a5a7f18c71906d8d58f107838",
      "parents": [
        "6e0b6a0bec093b2fbc2e630312ec412f3f2c2254"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 17 16:32:53 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Thu Jan 17 16:32:53 2019 +0100"
      },
      "message": "patch 8.1.0765: string format of a Blob can\u0027t be parsed back\n\nProblem:    String format of a Blob can\u0027t be parsed back.\nSolution:   Use 0z format.\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": "8c8b8bb56c724cc1bfc3d8520eec33f2d399697c",
      "tree": "62748a3e2cc6168a4d8eb8799ed8708c5575a278",
      "parents": [
        "8309b0559da6e9a581a7816572594c90c2d7f942"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 13 17:48:04 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 13 17:48:04 2019 +0100"
      },
      "message": "patch 8.1.0741: viminfo with Blob is not tested\n\nProblem:    Viminfo with Blob is not tested.\nSolution:   Extend the viminfo test.  Fix reading a blob.  Fixed storing a\n            special variable value.\n"
    },
    {
      "commit": "c0f5a78c15b194f23bedb82e6825e34f481e6532",
      "tree": "499198e36943d41843167eadc9e90efdad928369",
      "parents": [
        "6e5ea8d2a995b32bbc5972edc4f827b959f2702f"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 13 15:16:13 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jan 13 15:16:13 2019 +0100"
      },
      "message": "patch 8.1.0736: code for Blob not sufficiently tested\n\nProblem:    Code for Blob not sufficiently tested.\nSolution:   Add more tests.  Fix uncovered crash.  Add test_null_blob().\n"
    },
    {
      "commit": "6e5ea8d2a995b32bbc5972edc4f827b959f2702f",
      "tree": "b1ad7d6a83f53220227122719d5eb97dd32ff1e6",
      "parents": [
        "e3c74d249ac36404d8af25f74baf335d143b30e3"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 12 22:47:31 2019 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 12 22:47:31 2019 +0100"
      },
      "message": "patch 8.1.0735: cannot handle binary data\n\nProblem:    Cannot handle binary data.\nSolution:   Add the Blob type. (Yasuhiro Matsumoto, closes #3638)\n"
    }
  ]
}
