)]}'
{
  "log": [
    {
      "commit": "2137710b436e481168382c50aa4838a4b9730163",
      "tree": "ee19c31fd94f494a92d936207c52a2127b25146e",
      "parents": [
        "d2079cff48117b121cd4afcc91fc14a696bdb142"
      ],
      "author": {
        "name": "John Marriott",
        "email": "basilisk@internode.on.net",
        "time": "Tue Apr 15 18:15:24 2025 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Apr 15 18:15:24 2025 +0200"
      },
      "message": "patch 9.1.1303: missing out-of-memory check in linematch.c\n\nProblem:  missing out-of-memory check in linematch.c\nSolution: return early in case of memory allocation failure, move the\n          pow() calculation ouside of the for() loop\n          (John Marriott)\n\ncloses: #17118\n\nSigned-off-by: John Marriott \u003cbasilisk@internode.on.net\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "34e1e8de91ff4a8922d454e3147ea425784aa0a0",
      "tree": "710a28a678c79fca63b022f9090aacc71e7d4a7b",
      "parents": [
        "f7cb9f9280c675537a1536864d58e32adf35d344"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Tue Feb 04 16:48:36 2025 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Feb 04 16:48:36 2025 +0100"
      },
      "message": "patch 9.1.1076: vim_strnchr() is strange and unnecessary\n\nProblem:  vim_strnchr() is strange and unnecessary (after v9.1.1009)\nSolution: Remove vim_strnchr() and use memchr() instead.  Also remove a\n          comment referencing an #if that is no longer present.\n\nvim_strnchr() is strange in several ways:\n- It\u0027s named like vim_strchr(), but unlike vim_strchr() it doesn\u0027t\n  support finding a multibyte char.\n- Its logic is similar to vim_strbyte(), but unlike vim_strbyte() it\n  uses char instead of char_u.\n- It takes a pointer as its size argument, which isn\u0027t convenient for\n  all its callers.\n- It allows embedded NULs, unlike other \"strn*\" functions which stop\n  when encountering a NUL byte.\n\nIn comparison, memchr() also allows embedded NULs, and it converts bytes\nin the string to (unsigned char).\n\ncloses: #16579\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "7c7a4e6d1ad50d5b25b42aa2d5a33a8d04a4cc8a",
      "tree": "932f9901f5f8a8491bd0d62e3438085a4e0f0bac",
      "parents": [
        "faf250c9e4f6f9fa5db38d9373735e77ba438a90"
      ],
      "author": {
        "name": "Jonathon",
        "email": "jonathonwhite@protonmail.com",
        "time": "Sun Jan 12 09:58:00 2025 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Jan 12 09:58:00 2025 +0100"
      },
      "message": "patch 9.1.1009: diff feature can be improved\n\nProblem:  diff feature can be improved\nSolution: include the linematch diff alignment algorithm\n          (Jonathon)\n\ncloses: #9661\n\nSigned-off-by: Jonathon \u003cjonathonwhite@protonmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    }
  ]
}
