)]}'
{
  "log": [
    {
      "commit": "4dd266cb66d901cf5324f09405cfea3f004bd29f",
      "tree": "107f870fe1c042d11466e459c3aaa1988b2d3bcf",
      "parents": [
        "b102728c204430b16a5d9e6720c882e12a687570"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Sat Aug 19 11:35:03 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Aug 19 11:35:03 2023 +0200"
      },
      "message": "patch 9.0.1738: Duplicate code to reverse a string\n\nProblem:  Duplicate code to reverse a string\nSolution: Move reverse_text() to strings.c and remove string_reverse().\n\ncloses: #12847\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: zeertzjq \u003czeertzjq@outlook.com\u003e\n"
    },
    {
      "commit": "03ff1c2dde7f15eca5c9baa6dafbda9b49bedc3b",
      "tree": "9d9a4484cd2fb33dacf9322e648cf2299a88ea7f",
      "parents": [
        "45fcb7928af8ac9bc5685ce7c804b8250866a874"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sat May 06 14:08:21 2023 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat May 06 14:08:21 2023 +0100"
      },
      "message": "patch 9.0.1515: reverse() does not work for a String\n\nProblem:    reverse() does not work for a String.\nSolution:   Implement reverse() for a String. (Yegappan Lakshmanan,\n            closes #12179)\n"
    },
    {
      "commit": "67672ef097dd708244ff042a8364994da2b91e75",
      "tree": "728d6713562555f7917bf5297c6ff27b2bb0c792",
      "parents": [
        "e1b4822137b74d45fde1d47d2e32b3ae89966092"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Apr 24 21:09:54 2023 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Apr 24 21:09:54 2023 +0100"
      },
      "message": "patch 9.0.1485: no functions for converting from/to UTF-16 index\n\nProblem:    no functions for converting from/to UTF-16 index.\nSolution:   Add UTF-16 flag to existing funtions and add strutf16len() and\n            utf16idx(). (Yegappan Lakshmanan, closes #12216)\n"
    },
    {
      "commit": "c32949b0779106ed5710ae3bffc5053e49083ab4",
      "tree": "14e2027724e250793fe942805c894b278d31321f",
      "parents": [
        "7b17eb4b063a234376c1ec909ee293e42cff290c"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 04 15:56:51 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Wed Jan 04 15:56:51 2023 +0000"
      },
      "message": "patch 9.0.1144: reading beyond text\n\nProblem:    Reading beyond text.\nSolution:   Add strlen_maxlen() and use it.\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": "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": "a2438132a675be4dde3acbdf03ba1fdb2f09427c",
      "tree": "973f677bea21a7f41bbb9d49ad0038550e6e665b",
      "parents": [
        "31e21766d6fb0a386e15ccc8c2192f6a3a210f53"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sat Jul 10 21:29:18 2021 +0200"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jul 10 21:29:18 2021 +0200"
      },
      "message": "patch 8.2.3139: functions for string manipulation are spread out\n\nProblem:    Functions for string manipulation are spread out.\nSolution:   Move string related functions to a new source file. (Yegappan\n            Lakshmanan, closes #8470)\n"
    }
  ]
}
