)]}'
{
  "log": [
    {
      "commit": "d9be94cf03dc123f1bd64531198bd7f52c986162",
      "tree": "366bc0fc542a6d51fe6d635c28cf3d93015088d9",
      "parents": [
        "90a800274ded86d5d79dbea7ba647cd69b029b4e"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Sun Jul 14 10:20:20 2024 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Jul 14 10:20:20 2024 +0200"
      },
      "message": "patch 9.1.0581: Various lines are indented inconsistently\n\nProblem:  style: Various lines are indented inconsistently\nSolution: Retab these lines and correct some comments.\n          (zeertzjq)\n\ncloses: #15259\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "7ccd1a2e858dbb2ac7fb09971dfcbfad62baa677",
      "tree": "b4cb1710ba0a1ccb21306a8d7c0d356134d0f0e7",
      "parents": [
        "e54fd3f7d80502f31259c185798a21d9d1b55315"
      ],
      "author": {
        "name": "Yinzuo Jiang",
        "email": "jiangyinzuo@foxmail.com",
        "time": "Thu Jul 04 17:20:53 2024 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Jul 04 17:20:53 2024 +0200"
      },
      "message": "patch 9.1.0524: the recursive parameter in the *_equal functions can be removed\n\nProblem:  the recursive parameter in the *_equal functions can be removed\nSolution: Remove the recursive parameter in dict_equal(), list_equal()\n          object_equal and tv_equal(). Use a comparison of the static\n          var recursive_cnt \u003d\u003d 0 to determine whether or not tv_equal()\n          has been called recursively (Yinzuo Jiang).\n\ncloses: #15070\n\nSigned-off-by: Yinzuo Jiang \u003cjiangyinzuo@foxmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "05ff4e42fb5aeaf7f7ef7965e44ddfa2d4d2baf3",
      "tree": "802d7bb1979be627a6764eccb4bc9b0286d1b92b",
      "parents": [
        "4179f193ccc26e95fec66273ffa036be1ab85e0a"
      ],
      "author": {
        "name": "Ernie Rael",
        "email": "errael@raelity.com",
        "time": "Thu Jul 04 16:50:11 2024 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Jul 04 16:50:11 2024 +0200"
      },
      "message": "patch 9.1.0522: Vim9: string(object) hangs for recursive references\n\nProblem:  Vim9: string(object) hangs for recursive references\nSolution: Handle recursive objects specifically, add a hang test and a\n          compare test (Ernie Rael)\n\nfixes: #15080\ncloses: #15082\n\nSigned-off-by: Ernie Rael \u003cerrael@raelity.com\u003e\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "f4af331d084b4f2c63710179a2f1fa360cc7d74b",
      "tree": "060c93312afa8888bd7c3a8e8c8c23886c3d2f20",
      "parents": [
        "9d85d4dcf9c738ab27f5591c62d5e54c421967a1"
      ],
      "author": {
        "name": "LemonBoy",
        "email": "thatlemon@gmail.com",
        "time": "Thu Jul 04 13:43:12 2024 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Jul 04 13:43:12 2024 +0200"
      },
      "message": "patch 9.1.0520: Vim9: incorrect type checking for modifying lists\n\nProblem:  Vim9: incorrect type checking for modifying lists\nSolution: Correctly assign the member declared types and generate\n          typechecks, add disassembly test (LemonBoy)\n\nfixes: #15090\ncloses: #15094\n\nSigned-off-by: LemonBoy \u003cthatlemon@gmail.com\u003e\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "8625714ac13cba271f60687b33f0b63bd29feba1",
      "tree": "6d25e824b33e68dc43aae82e79f8e97d3aca32c9",
      "parents": [
        "7b29cc97d6c1450865969d08c5538a40c304593c"
      ],
      "author": {
        "name": "Ernie Rael",
        "email": "errael@raelity.com",
        "time": "Sun Jun 23 09:54:45 2024 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Jun 23 09:54:45 2024 +0200"
      },
      "message": "patch 9.1.0515: Vim9: segfault in object_equal()\n\nProblem:  Vim9: segfault in object_equal()\nSolution: test for object pointer being NULL, before dereferencing them\n          (Ernie Rael)\n\ncloses: #15085\n\nSigned-off-by: Ernie Rael \u003cerrael@raelity.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "7b29cc97d6c1450865969d08c5538a40c304593c",
      "tree": "721ee10de8fae67be6a5503965135131cb895180",
      "parents": [
        "549ecc86365dc625e71e10b958525867c47e1cda"
      ],
      "author": {
        "name": "LemonBoy",
        "email": "thatlemon@gmail.com",
        "time": "Sat Jun 22 17:25:07 2024 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Jun 22 17:25:07 2024 +0200"
      },
      "message": "patch 9.1.0514: Vim9: issue with comparing objects recursively\n\nProblem:  Vim9: issue with comparing objects recursively\n          (Yinzuo Jiang)\nSolution: only set recursive \u003d\u003d TRUE, when called from tv_equal(), not\n          from typeval_compare_object(), refactor code into object_equal()\n          function (LemonBoy)\n\nThe recursive flag in tv_equal should be set only when the caller is\ntv_equal, meaning that the comparison depth is \u003e 1. The comparison\npredicates for other object types are all following this rule, except\nfor the object one, and that may cause some weird issues like causing\nthe max depth limit not to be initialized in some cases.\n\ncloses: #15076\n\nSigned-off-by: LemonBoy \u003cthatlemon@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "22029edb6c7b2cb146668354daad60bfe59eaac1",
      "tree": "0687149323a0c51cfd17f318e0e7958d0771d94d",
      "parents": [
        "5f1b115afd92544ce64d563da0d8ee9844abb10a"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Mon May 20 13:57:11 2024 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon May 20 13:57:11 2024 +0200"
      },
      "message": "patch 9.1.0422: function echo_string_core() is too long\n\nProblem:  function echo_string_core() is too long\nSolution: Refactor into several smaller functions\n          (Yegappan Lakshmanan)\n\ncloses: #14804\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "fe55c31752acae5a02cd5274fb81965fd41bbcc7",
      "tree": "3127a94da878828ad6d6ce5211ee1de884bd3e31",
      "parents": [
        "11250510404860a76d9e9cea4f99025277f607a5"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sun Apr 28 09:54:09 2024 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Apr 28 09:54:09 2024 +0200"
      },
      "message": "patch 9.1.0378: Vim9: no comments allowed after class vars\n\nProblem:  Vim9: no comments allowed after class vars\n          (Christian Robinson, after 9.1.376)\nSolution: Allow trailing comments after class vars\n          (Yegappan Lakshmanan)\n\ncloses: #14651\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "ac7731895c996acef4d02b784f9952749226e203",
      "tree": "60a6d4a28b3e64f96ccf7587fdb490b2c40cb88a",
      "parents": [
        "340643e9779a96710a27d0eeef24f2c08b8967c4"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sat Apr 27 11:36:12 2024 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Apr 27 11:48:26 2024 +0200"
      },
      "message": "patch 9.1.0376: Vim9: Trailing commands after class/enum keywords ignored\n\nProblem:  Vim9: Trailing commands after class/enum keywords ignored\nSolution: Remove EX_TRLBAR keyword from command definition\n          (Yegappan Lakshmanan)\n\ncloses: #14649\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "c51578fed8f21cf3c1ff72bbb599dca2db02be84",
      "tree": "230f9c92871fb512962c94e779591281229656fc",
      "parents": [
        "122d068585686babd63f0b729759ec269171d464"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sat Apr 13 17:58:09 2024 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Apr 13 18:04:53 2024 +0200"
      },
      "message": "patch 9.1.0314: Vim9: Can define a class in a function\n\nProblem:  Vim9: Can define a class in a function\n          (Doug Kearns)\nSolution: Give an error for a class defined in a function,\n          slightly reword some public error messages\n          (Yegappan Lakshmanan)\n\nfixes: #13184\nfixes: #13326\ncloses: #14537\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "1af0fbf955f799392f614bc38f9d2fcbd9960526",
      "tree": "723f030d699f218b549d22b241115436823e4a04",
      "parents": [
        "78c51500f1bb16501521d721d52cb0982f5e70b6"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Tue Apr 09 21:39:27 2024 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Apr 09 21:39:27 2024 +0200"
      },
      "message": "patch 9.1.0286: Vim9: E1027 with defcompile for abstract methods\n\nProblem:  Vim9: E1027 with defcompile for abstract methods with\n          non-void return types, but still compiles it\n          (zzzyxwvut)\nSolution: Don\u0027t compile abstract methods\n          (Yegappan Lakshmanan)\n\nfixes: #14443\ncloses: #14447\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "3e33650b3a9939f6b942c1d1eccdb261ea17a647",
      "tree": "167bd86efdf040f2866be1547d356a612b5aa2ea",
      "parents": [
        "bd28cae1f1c21c0e3743e3427c98bbd848fad237"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Thu Apr 04 19:35:59 2024 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Apr 04 19:35:59 2024 +0200"
      },
      "message": "patch 9.1.0261: Vim9: protected class and funcrefs accessible outside the class\n\nProblem:  Vim9: protected class and funcrefs accessible outside the class\n          (Aliaksei Budavei)\nSolution: Check if class and object funcrefs are protected\n          (Yegappan)\n\ncloses: #14407\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "3cf121ed31f7a022e2ae6585391434d9c88e9792",
      "tree": "01acd88732929577e53b138a1f251e6a971dac43",
      "parents": [
        "5df961a1bc5ed14d0b5aa04ef59e9079313c268d"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sun Mar 31 18:45:35 2024 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Mar 31 18:45:35 2024 +0200"
      },
      "message": "patch 9.1.0233: Vim9: string() output of enum is problematic\n\nProblem:  Vim9: string() output of enum is problematic\nSolution: Make string() output for an enum consistent with that of a\n          regular object (Yegappan Lakshmanan).\n\ncloses: #14343\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "abedca96efa76db2bba74a5264df632da862203d",
      "tree": "1f9a4e131bd8837945296f5d5f3eaee56cb3157d",
      "parents": [
        "059aeac2be1a0d30ff80751215794457c1ef1589"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Fri Mar 29 10:08:23 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Mar 29 10:08:23 2024 +0100"
      },
      "message": "patch 9.1.0226: Not able to assign enum values to an enum static variable\n\nProblem:  Not able to assign enum values to an enum static variable\n          (zzzyxwvut)\nSolution: Make it work\n          (Yegappan Lakshmanan)\n\nrelated: #14224\ncloses: #14329\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "c029c131ea7822514d67edb9be2de76d076aa267",
      "tree": "b21ae335a3173c9b14329e6a319851136647f91f",
      "parents": [
        "3164cf8f12f14b725b918e3170bb0a9085af8298"
      ],
      "author": {
        "name": "zeertzjq",
        "email": "zeertzjq@outlook.com",
        "time": "Thu Mar 28 11:37:26 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Mar 28 11:37:26 2024 +0100"
      },
      "message": "patch 9.1.0220: Few typos in source and test files\n\nProblem:  Typos in code and tests.\nSolution: Fix typos (zeertzjq).\n\ncloses: #14321\n\nSigned-off-by: zeertzjq \u003czeertzjq@outlook.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "3164cf8f12f14b725b918e3170bb0a9085af8298",
      "tree": "3bd541655187532df3adead11c8f2afb3a733b8f",
      "parents": [
        "8ede7a069419e0e01368c65a2d0c79d6332aa6cd"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Thu Mar 28 10:36:42 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Mar 28 10:38:28 2024 +0100"
      },
      "message": "patch 9.1.0219: Vim9: No enum support\n\nProblem:  No enum support\nSolution: Implement enums for Vim9 script\n          (Yegappan Lakshmanan)\n\ncloses: #14224\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "35b867b685cedbcbba9d44695077ecc9a6995f4c",
      "tree": "826a2fc0299ccc02ff307d04ae98c54fdc650a6b",
      "parents": [
        "b2ec0da080fb24f12a8d6f54bd7318a078ca4e6c"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sat Mar 09 15:44:19 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Mar 09 15:44:19 2024 +0100"
      },
      "message": "patch 9.1.0160: Vim9: Add support for using a class type of itself in an object method\n\nProblem:  Add support for using a class type of itself in an object\n          method (thinca)\nSolution: Vim9: Add support for using a class type of itself in an\n          object method (Yegappan Lakshmanan)\n\nfixes: #12369\ncloses: #14165\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "d3eae7bc116297f70220f21ded436ed0a88066d8",
      "tree": "29837ff70cabc4f3238be13df845dcb6ace10da9",
      "parents": [
        "215703563757a4464907ead6fb9edaeb7f430bea"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sun Mar 03 16:26:58 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Mar 03 16:34:51 2024 +0100"
      },
      "message": "patch 9.1.0148: Vim9: can\u0027t call internal methods with objects\n\nProblem:  Vim9: can\u0027t call internal methods with objects\nSolution: Add support for empty(), len() and string() function\n          calls for objects (Yegappan Lakshmanan)\n\ncloses: #14129\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "4f32c83a775a195ae7e1545b2840fb773f93414f",
      "tree": "d9519e67920220913c08fee59ccc63f7c37572c0",
      "parents": [
        "8610f74382039c9c54d6c4aeb978d252e762360a"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Fri Jan 12 17:36:40 2024 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Jan 12 17:41:09 2024 +0100"
      },
      "message": "patch 9.1.0020: Vim9: cannot compile all methods in a class\n\nProblem:  Vim9: cannot compile all methods in a class\nSolution: Support compiling all the methods in a class using :defcompile\n          (Yegappan Lakshmanan)\n\ncloses: #13844\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "ff6f0d5c38e81f742e1161c1504fc6b8e45d9a1e",
      "tree": "5b38ef43eb96593691588f9605281bd3145628d3",
      "parents": [
        "cc944b1452547145cdd947a37c75fce695d8571e"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Thu Dec 21 16:46:18 2023 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Dec 21 16:46:18 2023 +0100"
      },
      "message": "patch 9.0.2182: Vim9: need a way to reserve future extension\n\nProblem:  Vim9: need a way to reserve future extension\nSolution: reserve double underscore prefix for future use\n          (Yegappan Lakshmanan)\n\nrelated: #13238\ncloses: #13742\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "6fdb6280821a822768df5689a5d727e37d38306c",
      "tree": "df4499466c758d7c18f5390567f72b52f1da525c",
      "parents": [
        "63210c214afa6589b6132bd060908a8711f4567f"
      ],
      "author": {
        "name": "Zoltan Arpadffy",
        "email": "zoltan.arpadffy@gmail.com",
        "time": "Tue Dec 19 20:53:07 2023 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Dec 19 20:53:07 2023 +0100"
      },
      "message": "patch 9.0.2180: POSIX function name in exarg causes issues\n\nProblem:  POSIX function name in exarg struct causes issues\n          on OpenVMS\nSolution: Rename getline member in exarg struct to ea_getline,\n          remove isinf() workaround for VMS\n\nThere are compilers that do not treat well POSIX functions - like\ngetline - usage in the structs.\n\nOlder VMS compilers could digest this... but the newer OpenVMS compilers\n( like VSI C x86-64 X7.4-843 (GEM 50XB9) ) cannot deal with these\nstructs. This could be limited to getline() that is defined via\ngetdelim() and might not affect all POSIX functions in general - but\navoiding POSIX function names usage in the structs is a \"safe side\"\npractice without compromising the functionality or the code readability.\n\nThe previous OpenVMS X86 port used a workaround limiting the compiler\ncapabilities using __CRTL_VER_OVERRIDE\u003d80400000\nIn order to make the OpenVMS port future proof, this pull request\nproposes a possible solution.\n\ncloses: #13704\n\nSigned-off-by: Zoltan Arpadffy \u003czoltan.arpadffy@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "e5437c542709b77ade084f96e60d84d4e847e6d3",
      "tree": "3740cd5c1dea8039f504fcbfb10b07086bdf08bf",
      "parents": [
        "d8bf87c9fbd92fd6b837446e886d47e557adadbc"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sat Dec 16 14:11:19 2023 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Dec 16 14:11:19 2023 +0100"
      },
      "message": "patch 9.0.2170: Vim9: no support for const/final class/objects vars\n\nProblem:  Vim9: no support for const/final class/objects vars\nSolution: Support final and const object and class variables\n\ncloses: #13655\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "74da0ee0a24799a312a3a8a65858237185ef7a23",
      "tree": "c615199ec9cbbbb5bdea225b1ab9da698f778701",
      "parents": [
        "549f8c0b4ebe47168c98f46c8b62b1eb33da7c9c"
      ],
      "author": {
        "name": "Doug Kearns",
        "email": "dougkearns@gmail.com",
        "time": "Thu Dec 14 20:26:26 2023 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Dec 14 20:26:26 2023 +0100"
      },
      "message": "patch 9.0.2167: Vim9: not consistently using :var for declarations\n\nProblem:  Vim9-script object/class variable declarations use syntax\n\t  that is inconsistent with the rest of the language.\nSolution: Use :var to declare object and class variables.\n\ncloses: #13670\n\nSigned-off-by: Doug Kearns \u003cdougkearns@gmail.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "b077b58809f6bd1078f409829cc1964b8475f9fc",
      "tree": "107b60d5e8ef6e8f0471de02f281dbc7e510a919",
      "parents": [
        "9a775b4a2ae658e61f9d6582de72ea7a1b241aaa"
      ],
      "author": {
        "name": "Ernie Rael",
        "email": "errael@raelity.com",
        "time": "Thu Dec 14 20:11:44 2023 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Dec 14 20:14:13 2023 +0100"
      },
      "message": "patch 9.0.2164: Vim9: can use type a func arg/return value\n\nProblem:  Vim9: can use type a func arg/return value\nSolution: Check if using type as function argument or return value\n\ncloses: #13675\n\nSigned-off-by: Ernie Rael \u003cerrael@raelity.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "d2e1c83962d4b392d1876d341c739d204553d01b",
      "tree": "221708c71d8501b4e8850eed019b30d0a996955b",
      "parents": [
        "7349c5160ab63d0737050a6b4da3e407ab0cfeb0"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Thu Dec 14 19:59:45 2023 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Dec 14 19:59:45 2023 +0100"
      },
      "message": "patch 9.0.2161: Vim9: not able to use imported interfaces and classes\n\nProblem:  Vim9: not able to use imported interfaces and classes\nSolution: Detect imported class/interfaces names correclty\n\nfixes:  #13661\ncloses: #13685\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "2025af165ec68d831f0f0f668a3ceac3f39142ef",
      "tree": "beb22176d7d2fa61be4054de5a5830cb31b933eb",
      "parents": [
        "c1c3b83816c8e22c9a710fb0c0cebc180ee6ce1e"
      ],
      "author": {
        "name": "Ernie Rael",
        "email": "errael@raelity.com",
        "time": "Tue Dec 12 16:58:00 2023 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Dec 12 16:58:00 2023 +0100"
      },
      "message": "patch 9.0.2160: instanceof() should use varargs as second arg\n\nProblem:  instanceof() should use varargs as second arg\nSolution: Modify `instanceof()` to use varargs instead of list\n\nModify `instanceof()` to use varargs instead of list\nValid `instanceof()` arguments are `type`s. A `type` is not a value;\nit cannot be added to a list.\n\nThis change is non-compatible with the current usage of instanceof;\nbut instanceof is relatively new and it\u0027s a trivial change.\n\nfixes: #13421\ncloses: #13644\n\nSigned-off-by: Ernie Rael \u003cerrael@raelity.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "6b36645f07773d2b27c6662cd80a6567e07f75a0",
      "tree": "690d8df3f6ac6128a88972e4b0fc8264d7d0005c",
      "parents": [
        "a5218a7330cb14ddd9afa323ab03f4334e6a77a0"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Nov 19 18:59:52 2023 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Nov 21 19:57:05 2023 +0100"
      },
      "message": "patch 9.0.2119: remove dead-condition in ex_class\n\nProblem:  remove dead-condition in ex_class()\nSolution: remove the extra condition\n\nThe variable is_class must be true once we reach the\n\n,----\n| else if (has_static)\n`----\n\nin line 1750, because we break out earlier if is_class is false in line\n1598 of vim9class.c. And once \u0027has_static \u003d TRUE\u0027, we must be in a\nclass and there fore is_class is true.\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "03042a2753e3e6ac971045a8ce256d709214710e",
      "tree": "c05b42382c4bc1bb7c9c2faae1a9f6d01d43bf52",
      "parents": [
        "4b0018feca3a75c7ad3d88360ae197af09e267ee"
      ],
      "author": {
        "name": "Ernie Rael",
        "email": "errael@raelity.com",
        "time": "Sat Nov 11 08:53:32 2023 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Nov 11 08:53:32 2023 +0100"
      },
      "message": "patch 9.0.2096: Vim9: confusing usage of private\n\nProblem:  Vim9: confusing usage of private\nSolution: clarify and use protected keyword instead\n\n[vim9class] document `_` as protected instead of private\n\nfixes #13504\ncloses: #13520\n\nSigned-off-by: Ernie Rael \u003cerrael@raelity.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "5a53925a6eea929118e5438685e9ebc16ae48aa2",
      "tree": "e887d34223ac802be00b2231cb8aacee20b9e4b3",
      "parents": [
        "ce3b0136c6d9d09af41969d3dc9634f115505a32"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sat Nov 04 09:42:46 2023 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Nov 04 09:42:46 2023 +0100"
      },
      "message": "patch 9.0.2088: Vim9: still allows abstract static methods\n\nProblem:  Vim9: still allows abstract static methods\n          (after v9.0.2084, v9.0.2085 and v9.0.2087)\nSolution: Disallow abstract static methods\n\ncloses: #13479\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "33c1da7ff49c3ccdce3a6d98bd620e324c5cd6ff",
      "tree": "42afee71a862c0863b50b03b95b9337d4dd72e39",
      "parents": [
        "deba02ddd46e9e8adfe2f7800c6be19d8c8e1a4d"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Nov 02 22:45:12 2023 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Nov 02 22:45:12 2023 +0100"
      },
      "message": "patch 9.0.2087: build-failure in vim9class\n\nProblem:  build-failure in vim9class\nSolution: reference correct error message,\n          disable non-failing test\n\ncloses: #13476\ncloses: #13477\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "2b358adde079d7cc8a7f42fcd5627866641c9a59",
      "tree": "cfd3290e4dc63d6866d779960b234c6c3989ca0b",
      "parents": [
        "ef9e3f8924363939ff45fa385f50f57146ff365c"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Thu Nov 02 20:57:32 2023 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Nov 02 20:58:58 2023 +0100"
      },
      "message": "patch 9.0.2085: Vim9: abstract can be used in interface\n\nProblem:  Vim9: abstract can be used in interface\nSolution: Disallow the use of abstract in an interface\n\nfixes: #13456\ncloses: #13464\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "ef9e3f8924363939ff45fa385f50f57146ff365c",
      "tree": "754b8f9aac9f3629de4e1f47a4975e4f56bbe311",
      "parents": [
        "1858e2b22ad168b1fd44a4efcd3a2b6cd9f6772d"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Thu Nov 02 20:43:57 2023 +0100"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Nov 02 20:43:57 2023 +0100"
      },
      "message": "patch 9.0.2084: Vim9: abstract static methods are possible\n\nProblem:  Vim9: abstract static methods are possible\nSolution: Disallow abstract static methods\n\nfixes: #13462\ncloses: #13466\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "feaccd239573a6265d39d3a917862ee40742eab4",
      "tree": "3ccb80ce860395236ba3d4a44b4257af99e4b21a",
      "parents": [
        "87ca5e86fa0ef305f3d39cc4261b622f21417f7f"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sat Oct 28 15:53:55 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Oct 28 15:53:55 2023 +0200"
      },
      "message": "patch 9.0.2078: several problems with type aliases\n\nProblem:  several problems with type aliases\nSolution: Check for more error conditions, add tests,\n          fix issues\n\nCheck for more error conditions and add additional tests\n\nfixes  #13434\nfixes  #13437\nfixes  #13438\ncloses #13441\n\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "ec3cebbd2b6b7583d2f683f5e66345163ec122aa",
      "tree": "66f0c9b69e88fa4a0d35ae738f687b5679bc56e0",
      "parents": [
        "4bca4897a12dfb91b3b27e3083fd5f370bd857d1"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Fri Oct 27 19:35:26 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Oct 27 19:35:26 2023 +0200"
      },
      "message": "patch 9.0.2076: Vim9: No support for type aliases\n\nProblem:  Vim9: No support for type aliases\nSolution: Implement :type command\n\nA type definition is giving a name to a type specification.  This also known\ntype alias.\n\n\t:type ListOfStrings \u003d list\u003cstring\u003e\n\nThe type alias can be used wherever a built-in type can be used.  The type\nalias name must start with an upper case character.\n\ncloses: #13407\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "0ab500dede4edd8d5aee7ddc63444537be527871",
      "tree": "96ebb872deec1d8ef086d9a133bd5167158c52fe",
      "parents": [
        "a36acb7ac444a789440dc30e0f04d5427069face"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sat Oct 21 11:59:42 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Oct 21 11:59:42 2023 +0200"
      },
      "message": "patch 9.0.2059: outstanding exceptions may be skipped\n\nProblem:  outstanding exceptions may be skipped\nSolution: When restoring exception state, process remaining outstanding\n          exceptions\n\ncloses: #13386\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "d4802ec48560b30d5a2fea243b05bd0f70364f7b",
      "tree": "3d93023b169e743e0578afd1c6a9f32cd67beba6",
      "parents": [
        "ac709e2fc0db6d31abb7da96f743c40956b60c3a"
      ],
      "author": {
        "name": "Ernie Rael",
        "email": "errael@raelity.com",
        "time": "Fri Oct 20 11:59:00 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Oct 20 11:59:00 2023 +0200"
      },
      "message": "patch 9.0.2055: Vim9: non-consistent error messages\n\nProblem:  Vim9: non-consistent error messages\nSolution: make error messages more consistent with common structure\n\nAdjust vim9class messages to follow common pattern.\n[Variable|Method] \"var-or-meth-name\" ... class \"class-name\"\n\ncloses: #13391\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Ernie Rael \u003cerrael@raelity.com\u003e\n"
    },
    {
      "commit": "00b55370b3adfc386ab27154df5c51410a099910",
      "tree": "592c4fd636506d907ad66030304eab499e3ab4b3",
      "parents": [
        "e08bfef88bd05a9d27ee16c57cd10173e280f600"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Thu Oct 19 17:18:28 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Oct 19 17:18:28 2023 +0200"
      },
      "message": "patch 9.0.2051: Vim9: wrong error for non-existing object var\n\nProblem:  Vim9: wrong error for non-existing object var\nSolution: mention object or class depending on whether\n          the var is an object or class variable.\n\ncloses: #13384\ncloses: #13387\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "29bb67f1beefc7fd393dbfd9ee77d92f1db3a3c0",
      "tree": "edaeb40abcb04a2d89e2886cd583ef497f2ad469",
      "parents": [
        "69fb5afb3bc9da24c2fb0eafb0027ba9c6502fc2"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sat Oct 14 11:18:50 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Oct 14 11:18:50 2023 +0200"
      },
      "message": "patch 9.0.2019: Vim9: no support for funcrefs\n\nProblem:  Vim9: no support for funcrefs\nSolution: Add support for object/class funcref members\n\ncloses: #11981 #12417 #12960 #12324 #13333\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "1ea428883f16838aca5763aee156fde3929d9ab6",
      "tree": "f5bbcbcfe81da0df16fd416ed62fb71c383c4ba8",
      "parents": [
        "4c8da025ef8140168b7a09d9fe922ce4bb40f19d"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Wed Oct 11 21:43:52 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Oct 11 21:43:52 2023 +0200"
      },
      "message": "patch 9.0.2016: Vim9: assignment operators don\u0027t work for class vars\n\nProblem:  Vim9: assignment operators don\u0027t work for class vars\nSolution: implement it\n\ncloses: #13306\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "b852305dbf42f1206ecc6ae414fc200235fe2963",
      "tree": "f488c4f44ee33cfb1725e001eff7f8a88073d613",
      "parents": [
        "75b277d35ce207ceb5e3645a962cfd59657d1d73"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sun Oct 08 19:07:39 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Oct 08 19:07:39 2023 +0200"
      },
      "message": "patch 9.0.2002: Vim9: need cleanup of class related interface code\n\nProblem:  Vim9: need cleanup of class related interface code\nSolution: Remove the unused class variable and class method related code\n          for interfaces.\n\nRemove unused class variable and class method related code for\ninterfaces.\n\nRefactor the code.\n\nOptimize the object/class member double lookup in compile_lhs().\n\nChange unused global functions to static functions.\n\ncloses: #13302\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "e6c9aa5e6a88d539a412a9b5526f41ea101aa185",
      "tree": "2ba9d1d12205cbe879b917b1e78b3df7bc43f4f9",
      "parents": [
        "85f4521808dd9a587c00f9a2927e84217721cfca"
      ],
      "author": {
        "name": "Ernie Rael",
        "email": "errael@raelity.com",
        "time": "Fri Oct 06 19:55:52 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Oct 06 19:55:52 2023 +0200"
      },
      "message": "patch 9.0.1999: Vim9: some error messages can be improved\n\nProblem:  Vim9: some error messages can be improved\nSolution: Mention the defining class for variable access error message\n\ncloses: #13272\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nSigned-off-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nCo-authored-by: Ernie Rael \u003cerrael@raelity.com\u003e\n"
    },
    {
      "commit": "d615a3122a1347ee0d446be4ecb4295b1e0aaabf",
      "tree": "7e256747edaa1de6eb7a9d4353471e8b5f9f8247",
      "parents": [
        "d2f4800099733216e28d59e1a5710f624b0d9ec1"
      ],
      "author": {
        "name": "Ernie Rael",
        "email": "errael@raelity.com",
        "time": "Thu Oct 05 20:28:16 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Oct 05 20:28:16 2023 +0200"
      },
      "message": "patch 9.0.1989: Vim9: double error message given\n\nProblem:  Vim9: double error message given\nSolution: Only give second error message, if ther\n          wasn\u0027t one given before\n\ncloses: #13278\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Ernie Rael \u003cerrael@raelity.com\u003e\n"
    },
    {
      "commit": "d2f4800099733216e28d59e1a5710f624b0d9ec1",
      "tree": "03f042481413f79bb33b4c46e9bf38169d22bd76",
      "parents": [
        "da5da654deb46a1432de26c7e02e7eba64c122f3"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Thu Oct 05 20:24:18 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Oct 05 20:24:18 2023 +0200"
      },
      "message": "patch 9.0.1988: Vim9: potential use-after-free for class members\n\nProblem:  Vim9: potential use-after-free for class members\nSolution: Use the class-related grow array for storing the\n          member type instead of using a temporary type\n          list grow array\n\nUse the type list grow array associated with the class than using a\ntemporary type list grow array to allocate the class member type.\n\nFor simple types, a predefined type is used. For complex types, the type\nis dynamically allocated from a grow array. For class variables, the\ntype grow array in the class should be used. So that the lifetime of the\ntype is same as the lifetime of the class.\n\ncloses: #13279\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "64885645e76b301a6c34fe762c4e29c7a0f63881",
      "tree": "2fe2d6325cbbdc1812da80226784060485afd939",
      "parents": [
        "0583491277dea9d14e000051c26405b90d839072"
      ],
      "author": {
        "name": "Ernie Rael",
        "email": "errael@raelity.com",
        "time": "Wed Oct 04 20:16:22 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Oct 04 20:16:22 2023 +0200"
      },
      "message": "patch 9.0.1982: vim9: clean up from v9.0.1955\n\nProblem:  vim9: clean up from v9.0.1955\nSolution: Fix a few remaining issues, improve error message\n\n- Use `cl_exec`, the executing class, to check permissions in `get_lval()`.\n- Handle lockvar of script variable from class.\n- Add \u0027in class \"Xxx\"\u0027 to e_cannot_access_private_variable_str.\n\ncloses: #13222\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Ernie Rael \u003cerrael@raelity.com\u003e\n"
    },
    {
      "commit": "fe7b20a1a39dc645a6ea7ae925512f9227fd1695",
      "tree": "d7bdcc5c9d3617324dbbab0dd13ae44e64ebc0fd",
      "parents": [
        "b9a974df9e22c7b56d8faac3246fb5f80a9351d4"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Wed Oct 04 19:47:52 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Oct 04 19:47:52 2023 +0200"
      },
      "message": "patch 9.0.1977: Vim9: object members can change type\n\nProblem:  Vim9: object members can change type\nSolution: Check type during assignment to object/class var\n\ncloses: #13127\ncloses: #13262\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "b32064fedbeb689ecb0481e9473cb7b87d5bb805",
      "tree": "ceebd338012f6a58fd4bff67750cfd2938e360e9",
      "parents": [
        "6d113472601fa6f3a444a95ef7b11d4309215117"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Mon Oct 02 21:43:58 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Oct 02 21:43:58 2023 +0200"
      },
      "message": "patch 9.0.1974: vim9: using contra-variant type-checks\n\nProblem:  vim9: using contra-variant type-checks (after v9.0.1959)\nSolution: Use invariant type checking instead\n\ncloses: #13248\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "f3b68d4759a040ed0c4844c279ea3c779b3863ff",
      "tree": "a45d5119e1348dc07fc7a2bf98fc9b263b896190",
      "parents": [
        "900894b09a95398dfc75599e9f0aa2ea25723384"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Fri Sep 29 22:50:02 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Sep 29 22:50:02 2023 +0200"
      },
      "message": "patch 9.0.1959: Vim9: methods parameters and types are covariant\n\nProblem:  Vim9: methods parameters and types are covariant\nSolution: Support contra-variant type check for object method arguments\n          (similar to Dart).\n\ncloses: #12965\ncloses: #13221\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "5a05d374d30577ee195e87e7929062ab1a0a076a",
      "tree": "42abeac48ba13073a7e69d1069421c0e95d685cd",
      "parents": [
        "02902b547bdb3ba480a52c90dce742201241f224"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Fri Sep 29 19:43:11 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Sep 29 19:44:25 2023 +0200"
      },
      "message": "patch 9.0.1952: Vim9: unused static field\n\nProblem:  Vim9: unused static field\nSolution: remove it and simplify code\n\ncloses: #13220\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "b90e3bc491c02bd6e4db1a1c1849ce3d21811c43",
      "tree": "77a96923cdf10e17e84c25f8269149aedeb1b07d",
      "parents": [
        "413f83990f15d5d59d27ab741670f527a7a3feb8"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Thu Sep 28 23:06:48 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Sep 28 23:16:35 2023 +0200"
      },
      "message": "patch 9.0.1951: Vim9: hard to debug vim9_class errors from CI\n\nProblem:  Vim9: hard to debug vim9_class errors from CI\nSolution: Include the line number in assert_xxx() calls.  Include the\n          entire error message in the tests.  Fix the indentation in the\n          test file.  Add tags for new error codes.\n\ncloses: #13206\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "f057aca1cc2480e820b3ca5d8d407e3976369777",
      "tree": "cf3641fe61007c29a0aa85a8d0cff32474b90bac",
      "parents": [
        "db38552dcdc7460459df8bf5cf02666256045308"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Thu Sep 28 22:28:15 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Sep 28 22:28:15 2023 +0200"
      },
      "message": "patch 9.0.1949: Vim9: allows reserved keywords as members\n\nProblem:  Vim9: allows reserved keywords as members\nSolution: Disallow reserved keywords, disallow\n          duplicate object and class variables\n\ncloses: #13209\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "2dede3dbfa3cb52f464f942d46d3ec0f66e3e354",
      "tree": "95218eeb382aa0e51be357af311157279a53b1bd",
      "parents": [
        "5277cfaf8afe847b7d4dcde6057fbecb001ab64e"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Wed Sep 27 19:02:01 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Sep 27 19:02:01 2023 +0200"
      },
      "message": "patch 9.0.1945: Vim9: missing support for ro-vars in interface\n\nProblem:  Vim9: missing support for ro-vars in interface\nSolution: Support only read-only object variables in an interface,\n          add additional checks when parsing class definitions.\n\ncloses: #13183\ncloess: #13184\ncloess: #13185.\ncloses: #13188\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "7fe8f43f49f4fa6f024d0e0ea76d3df5b62a0879",
      "tree": "0d1c177b3717a51940236bba81a9654017eae317",
      "parents": [
        "46bdae036ac4121e305fc3ed4ef3f9fc928dcb25"
      ],
      "author": {
        "name": "RestorerZ",
        "email": "restorer@mail2k.ru",
        "time": "Sun Sep 24 23:21:24 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Sep 24 23:21:24 2023 +0200"
      },
      "message": "patch 9.0.1935: Vim9: not consistent error messages\n\nProblem:  Vim9: not consistent error messages\nSolution: Make error messages more consistent. Use \"variable\" for\n          (object/class) member\n\ncloses: #13155\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: RestorerZ \u003crestorer@mail2k.ru\u003e\n"
    },
    {
      "commit": "b895b0fabce7d952a6617eb69fc1e1597ece8b00",
      "tree": "2fd427260aee9d33dea14bfd4464f80d47a4e9ab",
      "parents": [
        "ceee7a808ce82b0c6bd84e0b6fc1dfb0475c99aa"
      ],
      "author": {
        "name": "h-east",
        "email": "h.east.727@gmail.com",
        "time": "Sun Sep 24 15:46:31 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Sep 24 15:46:31 2023 +0200"
      },
      "message": "patch 9.0.1928: Vim9: constructor type checking bug\n\nProblem:  Vim9: constructor type checking bug\nSolution: Fix class constructor regression\n\ncloses: #13102\ncloses: #13113\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: h-east \u003ch.east.727@gmail.com\u003e\n"
    },
    {
      "commit": "1db151436541a3e64cdd5e3d9eb3ace1ce1e1ad0",
      "tree": "04a55e05000bc0b00366825c1088d3dd8481dbfe",
      "parents": [
        "2ce070c27acd12ccc614afa4cecf4970a645a4af"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Tue Sep 19 20:34:05 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Sep 19 20:36:02 2023 +0200"
      },
      "message": "patch 9.0.1914: Vim9: few issues when accessing object members\n\nProblem:  Vim9: few issues when accessing object members\nSolution: When calling an object method, check for null object.\n          Accessing a Dict object member doesn\u0027t work.\n\ncloses: #13119\ncloses: #13123\ncloses: #13124\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "3da696db6ac6103eb8f07cf7be23fa0e12c2419d",
      "tree": "4530141a1e29cfefd403e2edf9c2ebeedcd2e967",
      "parents": [
        "346ac1429c5afb23bace295106aea1b305443435"
      ],
      "author": {
        "name": "Ernie Rael",
        "email": "errael@raelity.com",
        "time": "Tue Sep 19 20:14:18 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Sep 19 20:14:18 2023 +0200"
      },
      "message": "patch 9.0.1911: Vim9: segfault with null object and instanceof()\n\nProblem:  Vim9: segfault with null object and instanceof()\nSolution: return early\n\ncloses: #13121\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Ernie Rael \u003cerrael@raelity.com\u003e\n"
    },
    {
      "commit": "00cd18222ee1551c65228e9556c158624507fc7a",
      "tree": "2686d05c81b58786e4f0c5b7f284f9e6d9158f8b",
      "parents": [
        "d25021cf036c63d539f845a1ee05b03ea21d61ff"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Mon Sep 18 19:56:49 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Sep 18 19:56:49 2023 +0200"
      },
      "message": "patch 9.0.1909: Vim9: problem calling class method from other class\n\nProblem:  Vim9: problem calling class method from other class\nSolution: Fix this problem, fix readonly object access, update error\n          messages.\n\nCalling a class method from another method without the class name prefix\ndoesn\u0027t work properly.\n\nA readonly object variable is modifiable outside the class using a\nnested object assignment.\n\nRemove the unused E1338 error message.\n\nUpdate error messages.\n\ncloses: #13116\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "92d9ee5f4ca0d2de04c39afbafc7609da43fb2e9",
      "tree": "d8482b4f9eaf3d6ab8dec32d29784c7bf64946d5",
      "parents": [
        "0483e49f90d85f5172f2050426913ac718f1c176"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sun Sep 17 17:03:19 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Sep 17 17:03:19 2023 +0200"
      },
      "message": "patch 9.0.1906: Vim9: Interfaces should not support class methods and variables\n\nProblem:  Vim9: Interfaces should not support class methods and\n          variables\nSolution: Make sure interface follow the interface specification\n\nVim9 interface changes to follow the new interface specification:\n\n1) An interface can have only read-only and read-write instance\n   variables.\n2) An interface can have only public instance methods.\n3) An interface cannot have class variables and class methods.\n4) An interface cannot have private instance variables and private\n   instance methods.\n5) A interface can extend another interface using \"extends\". The\n   sub-interface gets all the variables and methods in the super\n   interface.\n\nThat means:\n- Interfaces should not support class methods and variables.\n- Adjust error numbers and add additional tests.\n- Interface methods can be defined in one of the super classes.\n- Interface variables can be defined in one of the super classes.\n  and instance variables can be repeated in sub interfaces.\n- Check the class variable types with the type in interface.\n\ncloses: #13100\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "e2deb7e598687e6359009c509d14f8b85be5a13b",
      "tree": "db4c83a3c5fd461165a719990f9d8f1630541c0c",
      "parents": [
        "ad29f6af0a2edcd1c9e78d8defe86b2155937f7c"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sat Sep 16 18:05:07 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Sep 16 18:05:07 2023 +0200"
      },
      "message": "patch 9.0.1902: Vim9: Coverity complains about dead code\n\nProblem:  Vim9: Coverity complains about dead code\nSolution: Copy only object methods from the super class\n          to a subclass when extending a class.  Fix\n          Coverity warning.\n\ncloses: #13103\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "c30a90d9b2c029f794cea502f6b824f71e4876dd",
      "tree": "53c789bae67beb6fe099686fcc6894b2c6fdb7b8",
      "parents": [
        "35928ee8f80ea721e92bb856c8ecde2cced46bb9"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Fri Sep 15 20:14:55 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Sep 15 20:14:55 2023 +0200"
      },
      "message": "patch 9.0.1898: Vim9: restrict access to static vars\n\nProblem:  Vim9: restrict access to static vars and methods\nSolution: Class members are accesible only from the class where they are\n          defined.\n\nBased on the #13004 discussion, the following changes are made:\n\n    1) Static variables and methods are accessible only using the class\n       name and inside the class where they are defined.\n    2) Static variables and methods can be used without the class name in\n       the class where they are defined.\n    3) Static variables of a super class are not copied to the sub class.\n    4) A sub class can declare a class variable with the same name as the\n       super class.\n    5) When a method or member is found during compilation, use more\n       specific error messages.\n\nThis aligns the Vim9 class variable/method implementation with the Dart\nimplementation.\n\nAlso while at it, ignore duplicate class and object methods.\n\nThe access level of an object method can however be changed in a\nsubclass.\n\nFor the tests, use the new CheckSourceFailure() function instead of the\nCheckScriptFailure() function in the tests.\n\ncloses: #13086\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "4d00b835c49ffc5c416b65ca466d6ad695cbd3d2",
      "tree": "a3974d821ce403d6d5d28cd5cc151b16ef9f50fb",
      "parents": [
        "f787ee8451a1f24de4ef3de48b78d5aa77d09829"
      ],
      "author": {
        "name": "Ernie Rael",
        "email": "errael@raelity.com",
        "time": "Mon Sep 11 19:54:42 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Sep 11 19:57:52 2023 +0200"
      },
      "message": "patch 9.0.1895: Vim9: finding object method/member is inefficient\n\nProblem:  Vim9: finding method/member is inefficient\nSolution: Use lookups\n\ncloses: #13073\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Ernie Rael \u003cerrael@raelity.com\u003e\n"
    },
    {
      "commit": "f36bbcd402c6ee5a27bcab3b20b6362ab93b8898",
      "tree": "1ab46f6dbc574548c8a9dea4ca6a661b36475899",
      "parents": [
        "066103307534f81de08a092aac3a15e864a5a25f"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sun Sep 10 18:19:06 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Sep 10 18:19:06 2023 +0200"
      },
      "message": "patch 9.0.1890: Vim9: lookup code for class/object repaeated\n\nProblem:  Vim9: lookup code for class/object repaeated\nSolution: Refactor and make use of lookup functions\n\ncloses: #13067\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "342f4f626ed56921b1ef145ccaa05ba0a4b8ac01",
      "tree": "5441a7bb6c17a6ea0298f1dfde9f6069527d9ecb",
      "parents": [
        "23c92d93c1b877edf18881b715ad51ec26386c2e"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sat Sep 09 11:37:23 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Sep 09 11:37:23 2023 +0200"
      },
      "message": "patch 9.0.1888: Vim9: Problem trying to invoke class method\n\nProblem:  Vim9: Problem trying to invoke class method\nSolution: Lookup the class method insider other classes\n\ncloses: #13055\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "23c92d93c1b877edf18881b715ad51ec26386c2e",
      "tree": "2df2c829e79b669b6f4a5103efefc05b7477436c",
      "parents": [
        "ee17b6f70d382ec6c5d8d27b56c4e84106ac8c55"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sat Sep 09 11:33:29 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Sep 09 11:33:29 2023 +0200"
      },
      "message": "patch 9.0.1887: Vim9: class members are accessible via object\n\nProblem:  Vim9: class members are accessible via object\nSolution: Disable class member variable access using an object\n\nClass methods can be accessed only using the class name and cannot be\naccessed using an object. To be consistent with this, do the same for\nclass member variables also. They can be accessed only using the class\nname and not using an object.\n\ncloses: #13057\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "7bcd25cad3e9d5c9e25c7ae2bde67285c26f73cd",
      "tree": "9834383bcf8ab51010fa003c72eb35bfa3d6f4ba",
      "parents": [
        "86cfb39030eb557e1a1c7804f9c147556ca5dbf1"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Fri Sep 08 19:27:51 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Sep 08 19:29:31 2023 +0200"
      },
      "message": "patch 9.0.1885: Vim9: no support for abstract methods\n\nProblem:  Vim9: no support for abstract methods\nSolution: Add support for defining abstract methods in an abstract class\n\ncloses: #13044\ncloses: #13046\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "cc0bcf4c9f4133750f5ee99c685ba995a1b840fd",
      "tree": "838c9185d9184bcb249b10275883e7a89f8fc639",
      "parents": [
        "11d2aeeca4cf191b3f25b36603dcd32167eac8a0"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Fri Sep 08 19:12:03 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Sep 08 19:12:03 2023 +0200"
      },
      "message": "patch 9.0.1883: Vim9: Calling an interface method using a child object fails\n\nProblem:  Vim9: Calling an interface method using a child object fails\nSolution: Search methods of parent class\n\nWhen a class implementing an interface is extended by another class and\na child class instance is passed to a function that accepts the\ninterface, calling an interface method doesn\u0027t work properly.\n\ncloses: #13053\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "cf138d4ea5b7e4495abbc867f9bb8a6be6482762",
      "tree": "816ed9323e5126d85e15149234ec76fb17bfb553",
      "parents": [
        "f7ac0ef5098856bedca26e7073594a407c05636f"
      ],
      "author": {
        "name": "Ernie Rael",
        "email": "errael@raelity.com",
        "time": "Wed Sep 06 20:45:03 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Sep 06 20:45:03 2023 +0200"
      },
      "message": "patch 9.0.1880: Vim9: Need more tests for inheritance\n\nProblem:  Vim9: Need more tests for inheritance\nSolution: Add access tests and fixes.\n\n`inside_class` fix from yegappan. `object_index_from_itf_index` fix\naccess of member on class extending class implementing interface.\n\nBased on tests from Vim9: Class/Object member variable access control #12979\n\ncloses: #13032\nrelated: #12979\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Ernie Rael \u003cerrael@raelity.com\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "1689e847ff3b43723c247be36d84f03fce2a66d6",
      "tree": "2e65ac13929a7ff29bc00d4e2efe700f50acf92c",
      "parents": [
        "1690ec64ffd784cddddb937870f5891adbb21986"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Wed Sep 06 20:23:23 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Sep 06 20:23:23 2023 +0200"
      },
      "message": "patch 9.0.1879: Vim9: incorrect duplicate class member detection\n\nProblem:  Vim9: incorrect duplicate class member detection\nSolution: Incorrect duplicate class member detection when variable names\n          have the same prefix.  Not able to access class member variables\n          using an object. Fix coding style issues\n\ncloses: #13042\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "18143d3111b2122c7a94ca51085a60b3073cb139",
      "tree": "c882f6d5b2f9e8f5643ab6c23a8555d0c1cc3373",
      "parents": [
        "dccc29c228f8336ef7dd069a447886639af4458e"
      ],
      "author": {
        "name": "Ernie Rael",
        "email": "errael@raelity.com",
        "time": "Mon Sep 04 22:30:41 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Sep 04 22:30:41 2023 +0200"
      },
      "message": "patch 9.0.1867: Vim9: access to interface statics possible\n\nProblem:  Vim9: access to interface statics possible\nSolution: Prevent direct access to interface statics\n\ncloses: #13007\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Ernie Rael \u003cerrael@raelity.com\u003e\n"
    },
    {
      "commit": "e651e110c17656a263dd017b14c85b332163a58d",
      "tree": "5aed78b4cba519728d28960297d9390944e02d1c",
      "parents": [
        "233f956bd43279db1fb4d017acb4e56a1504addf"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Mon Sep 04 07:51:01 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Sep 04 07:51:01 2023 +0200"
      },
      "message": "patch 9.0.1862: Vim9 Garbage Collection issues\n\nProblem:  Vim9 Garbage Collection issues\nSolution: Class members are garbage collected early leading to\n          use-after-free problems.  Handle the garbage\n          collection of classes properly.\n\ncloses: #13019\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "21d3212361f687704acb52cad7c1b9228e7c83f0",
      "tree": "7dc986cef84f517d531c9401eb60d72e67ed0abf",
      "parents": [
        "9d093fd05626aa19e5d9ff6d4b738a0f8f5deccb"
      ],
      "author": {
        "name": "Ernie Rael",
        "email": "errael@raelity.com",
        "time": "Sat Sep 02 15:09:18 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Sep 02 15:09:18 2023 +0200"
      },
      "message": "patch 9.0.1842: Need more accurate profiling\n\nProblem:  Need more accurate profiling\nSolution: Improve profiling results\n\ncloses: #12192\n\nReduce overhead of checking if a function should be profiled,\nby caching results of checking (which are done with regexp).\n\nCache uf_hash for uf_name in ufunc_T.\n\nCache cleared when regexps are changed.\n\nBreak at first match for has_profiling lookup.\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Ernie Rael \u003cerrael@raelity.com\u003e\n"
    },
    {
      "commit": "3775f777a6add2a8d5060b40414e9c53062c8cd9",
      "tree": "c6db91ae9aa6226189470956b435feadba9b56ad",
      "parents": [
        "b147d314897b7a82081644edf779e22138d44f2c"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Fri Sep 01 22:05:45 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Sep 01 22:05:45 2023 +0200"
      },
      "message": "patch 9.0.1838: Vim9: Cannot modify class member vars from def function\n\nProblem:  Vim9: Cannot modify class member vars from def function\nSolution: Add support for modifying class member variables from a def\n          function\n\ncloses: #12995\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "456ae556b43f277c65ceb518d58034b11cd58cfb",
      "tree": "2571be258dbcc513316ba87fdd035594effbc696",
      "parents": [
        "c41b7a26fc9e319226e4a2ea40f4ad2d4a2a44e4"
      ],
      "author": {
        "name": "Ernie Rael",
        "email": "errael@raelity.com",
        "time": "Fri Sep 01 18:54:54 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Fri Sep 01 18:57:09 2023 +0200"
      },
      "message": "patch 9.0.1837: Vim9: class_member_type() can be optimized\n\nProblem:  Vim9: class_member_type() can be optimized\nSolution: class_member_type() provides more information;\n          safe an additional alloc()/free()\n\ncloses: #12989\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Ernie Rael \u003cerrael@raelity.com\u003e\n"
    },
    {
      "commit": "eb91e24d5eca99ad902924911e78f292e9ca0971",
      "tree": "ee3ea5c8c651720aae83ae5fdf115bc33a79014a",
      "parents": [
        "ac2d8815ae7a93c54b07cba76475cfb3f26a3ac6"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Thu Aug 31 18:10:46 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Thu Aug 31 18:10:46 2023 +0200"
      },
      "message": "patch 9.0.1829: Vim9 missing access-checks for private vars\n\nProblem:  Vim9 missing access-checks for private vars\nSolution: Use the proper check for private/readonly variable.  Access\n          level for a member cannot be changed in a class implementing an\n          interface.  Update the code indentation\n\ncloses: #12978\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nCo-authored-by: Ernie Rael \u003cerrael@raelity.com\u003e\n"
    },
    {
      "commit": "e3b6c78ddc4acf238af35d7fac585e7ead27392f",
      "tree": "793ec0292511758292951d2e07ccd39ecdec7db9",
      "parents": [
        "4b9777a1dfc10bd2634404cb039a0df539549c93"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Tue Aug 29 22:32:02 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Aug 29 22:34:36 2023 +0200"
      },
      "message": "patch 9.0.1822: Vim9: no check for duplicate members in extended classes\n\nProblem:  Vim9: no check for duplicate members in extended classes\nSolution: Check for duplicate members in extended classes.\n          Fix memory leak.\n\ncloses: #12948\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "4b9777a1dfc10bd2634404cb039a0df539549c93",
      "tree": "24e52b61874ee3cce35f4ad46a691acc007c3bdc",
      "parents": [
        "2ac708b548660b232a32c52d89bde3d8596646c0"
      ],
      "author": {
        "name": "Gianmaria Bajo",
        "email": "mg1979.git@gmail.com",
        "time": "Tue Aug 29 22:26:30 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Aug 29 22:29:03 2023 +0200"
      },
      "message": "patch 9.0.1821: Vim9 constructors are always static\n\nProblem:  Vim9 constructors are always static\nSolution: make the \"static\" keyword an error\n\ncloses: #12945\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Gianmaria Bajo \u003cmg1979.git@gmail.com\u003e\n"
    },
    {
      "commit": "2ba9d2e14e3633c92a32abba2a12533f93fefbf5",
      "tree": "e0ef8dc5b5972ce3dee19b1395b2dab7709e08fb",
      "parents": [
        "1d3e0e8f3110a7807431eae056914ccea57b057b"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Mon Aug 28 21:26:23 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Mon Aug 28 21:26:23 2023 +0200"
      },
      "message": "patch 9.0.1814: Vim9 no error on duplicate object member var\n\nProblem:  Vim9 no error on duplicate object member var\nSolution: detect duplicate members and error out\n\ncloses: #12938\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "cd7293bf6c358bb0e183582a2927fc03566d29f6",
      "tree": "d1fe17d7fdd8f5a2414761eab2879a80494e4e27",
      "parents": [
        "03e44a1d70e914504e6151fe88ad1e574cbf0a59"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sun Aug 27 19:18:23 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Aug 27 19:18:23 2023 +0200"
      },
      "message": "patch 9.0.1804: Vim9: no support for private object methods\n\nProblem:  Vim9: no support for private object methods\nSolution: Add support for private object/class methods\n\ncloses: #12920\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "d4e4ecbb3793cd45b645471966c1ac703be52f4a",
      "tree": "21dc9d7421f7016bdeb0d3f5875e36251795d38c",
      "parents": [
        "74e1dada4199b2d9e68ccaafdb7895c85b4b08f1"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sun Aug 27 18:35:45 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Aug 27 18:35:45 2023 +0200"
      },
      "message": "patch 9.0.1795: Indentation issues\n\nProblem:  Indentation issues\nSolution: Fix code indentation issues.\n\ncloses: #12906\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "afe0466fb1695fa8b9782eea8a8e9f9540d4cb85",
      "tree": "f71446a214e45f7c0cdcb186fe40d25d1a1da39d",
      "parents": [
        "1193951bebcff50d88403ce17dec5d3be14f131d"
      ],
      "author": {
        "name": "LemonBoy",
        "email": "thatlemon@gmail.com",
        "time": "Wed Aug 23 21:08:11 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Aug 23 21:08:11 2023 +0200"
      },
      "message": "patch 9.0.1786: Vim9: need instanceof() function\n\nProblem:  Vim9: need instanceof() function\nSolution: Implement instanceof() builtin\n\nImplemented in the same form as Python\u0027s isinstance because it allows\nfor checking multiple class types at the same time.\n\ncloses: #12867\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: LemonBoy \u003cthatlemon@gmail.com\u003e\n"
    },
    {
      "commit": "618e47d1cd93954bad26d47e5353b4f1432daa5e",
      "tree": "56be8ec254e3039862771c0a046c7fbb4ac3ffc1",
      "parents": [
        "8dabccd295271104ad5af0abc48e283d644cff59"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Tue Aug 22 21:29:28 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Tue Aug 22 21:29:28 2023 +0200"
      },
      "message": "patch 9.0.1780: Vim9 type not defined during object creation\n\nProblem:  Vim9 type not defined during object creation\nSolution: Define type during object creation and not during class\n          definition, parse mulit-line member initializers, fix lock\n          initialization\n\nIf type is not specified for a member, set it during object creation\ninstead of during class definition.  Add a runtime type check for the\nobject member initialization expression\n\nAlso, while at it, when copying an object or class, make sure the lock\nis correctly initialized.\n\nAnd finally, parse multi-line member initializers correctly.\n\ncloses: #11957\ncloses: #12868\ncloses: #12869\ncloses: #12881\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\nCo-authored-by: LemonBoy \u003cthatlemon@gmail.com\u003e\n"
    },
    {
      "commit": "6ac1544e13d78e0deeca1f357d1d73947180171c",
      "tree": "87cdbb42a368d402fce1773a4b9321cef96e8fc9",
      "parents": [
        "6cc8bc836616e9b0cda1d8cb6993a958f569ad7b"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sun Aug 20 18:20:17 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Aug 20 18:20:17 2023 +0200"
      },
      "message": "patch 9.0.1760: vim9 class problem with new() constructor\n\nProblem:  vim9 class problem with new() constructor\nSolution: Don\u0027t allow a return type for the new() class constructor.\n\ncloses: #12863\ncloses: #12040\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "4b1cc7906f2fa9aa5a41c16467e5d3ac4b64e323",
      "tree": "631f81394457c15a17fe3859fe3034787c97c3df",
      "parents": [
        "e1eaae27f4f2d2522e45397756f3bca42be50988"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sat Aug 19 22:39:33 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Aug 19 22:39:33 2023 +0200"
      },
      "message": "patch 9.0.1757: ex_class() function is too long\n\nProblem:  ex_class() function is too long\nSolution: refactor it\n\ncloses: #12858\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "28ae5a32fd071b9c5881c3c33f531191ed641e55",
      "tree": "a4dd6713d38ea3c998dbe87321fa21338a9adfb8",
      "parents": [
        "fc3058495d3ff58c8f2b9dd4452d0840f2d1fa42"
      ],
      "author": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Aug 19 14:09:16 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Aug 19 14:10:48 2023 +0200"
      },
      "message": "patch 9.0.1746: vim9class compile error for char/char_u conversion\n\nProblem: vim9class compile error for char/char_u conversion\nSolution: Correctly cast to (char *)\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\n"
    },
    {
      "commit": "c5d2744c045f9ad058cbc799f2434d90a6d83516",
      "tree": "76990a51b671ae6ab1973fe1f22d7109befc8b40",
      "parents": [
        "56bafd7a6a79203b86f7165a7bbac5730c170f64"
      ],
      "author": {
        "name": "LemonBoy",
        "email": "thatlemon@gmail.com",
        "time": "Sat Aug 19 13:02:35 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Aug 19 13:04:53 2023 +0200"
      },
      "message": "patch 9.0.1741: No type checking in interfaces\n\nProblem: No type checking in interfaces\nSolution: Implement member type check in vim9 interfaces\n\nMost of the code is a small refactoring to allow the use of a where_T\nfor signaling the type mismatch, the type checking itself is pretty\nsimple.\n\nImprove where_T error reports\n\nLet the caller explicitly define the kind of location it\u0027s referring to\nand free the WT_ARGUMENT enum from its catch-all role.\n\nImplement type checking for interface methods\n\nFollows closely the logic used for type-checking the members.\n\ncloses: #12844\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: LemonBoy \u003cthatlemon@gmail.com\u003e\n"
    },
    {
      "commit": "b102728c204430b16a5d9e6720c882e12a687570",
      "tree": "d6c964007f203d2b9de0361ec6e8460dba47894c",
      "parents": [
        "e27578aee6cf34654473749cb8bd5c459e108a87"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sat Aug 19 11:26:42 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sat Aug 19 11:26:42 2023 +0200"
      },
      "message": "patch 9.0.1737: Calling a base class method through an extended class fails\n\nProblem: Calling a base class method through an extended class fails\nSolution: Create lookup table for member index in the interface to\n          to the member class implementing the interface\n\nCreate additional tests for Vim9 classes.  Fix unconvered memory leaks\nand crashes found by the new tests.\n\ncloses: #12848\ncloses: #12089\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003eauthor\n"
    },
    {
      "commit": "a456b12011569be91418bbf6277d844c67e05e79",
      "tree": "7b2e111a2ff9fe30820758c6a6694b7c257b5c13",
      "parents": [
        "20b33b56ad5d92c1c11e0859dc9333166625e0ad"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Wed Aug 16 20:14:37 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Wed Aug 16 20:14:37 2023 +0200"
      },
      "message": "patch 9.0.1720: Vim9 class using wrong index for overridden method\n\nProblem: Vim9 class using wrong index for overridden method\nSolution: Use correct index for overridden method\n\ncloses: #12524\ncloses: #12813\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "5b0889b8bf25b0793b1949ec965c94b623900aba",
      "tree": "7cfdf5306013c825c577516f13c28d18674ed071",
      "parents": [
        "d3515a1e88cf25c1d5eae8faa965b587a124e687"
      ],
      "author": {
        "name": "Jia-Ju Bai",
        "email": "baijiaju@buaa.edu.cn",
        "time": "Sun Aug 13 20:04:04 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Aug 13 20:05:18 2023 +0200"
      },
      "message": "patch 9.0.1712: missing null check in object_clear()\n\nProblem: missing null check in object_clear()\nSolution: Add null check of cl\n\ncloses: #12627\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Jia-Ju Bai \u003cbaijiaju@buaa.edu.cn\u003e\n"
    },
    {
      "commit": "74cc13cc402fa4df9033fbbc0643b1b403525950",
      "tree": "6279dd556d707178dd262e248ca17711ac25a5c6",
      "parents": [
        "9ad1bf7afd5c4f26e5154eca2697c9a6773e0bf4"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sun Aug 13 17:41:26 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Aug 13 17:41:26 2023 +0200"
      },
      "message": "patch 9.0.1703: Vim9 Calling a method in an extended class fails\n\nProblem: Vim9 Calling a method in an extended class fails\nSolution: use method index directly\n\ncloses: #12778\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "57a02ccf4c75a6abb270194c90be926d5221b3ce",
      "tree": "172ea7c80c0b596ff00aaf33441232436f6af4a6",
      "parents": [
        "32f586eec1a48784566f8e7aad5cab0ad6105b02"
      ],
      "author": {
        "name": "Yegappan Lakshmanan",
        "email": "yegappan@yahoo.com",
        "time": "Sun Aug 13 10:19:38 2023 +0200"
      },
      "committer": {
        "name": "Christian Brabandt",
        "email": "cb@256bit.org",
        "time": "Sun Aug 13 10:19:38 2023 +0200"
      },
      "message": "patch 9.0.1701: vim9 crash when class member overridden\n\nProblem: vim9 crash when class member overridden\nSolution: Use method_count field instead\n\ncloses: #12676\ncloses: #12677\n\nSigned-off-by: Christian Brabandt \u003ccb@256bit.org\u003e\nCo-authored-by: Yegappan Lakshmanan \u003cyegappan@yahoo.com\u003e\n"
    },
    {
      "commit": "f7ca56f7193f8b383be43f1f6b3a6c6ca77b4233",
      "tree": "ce30cd88fa64abf5b4a73366dd4a463f0d141ce8",
      "parents": [
        "5c606846b9a43c7e6b94c7e96838f7532792f557"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jun 05 16:53:25 2023 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Mon Jun 05 16:53:25 2023 +0100"
      },
      "message": "patch 9.0.1609: crash when an object indirectly references itself\n\nProblem:    Crash when an object indirectly references itself.\nSolution:   Avoid clearing an object while it is already being cleared.\n            (closes #12494)\n"
    },
    {
      "commit": "114ec813b3a7f70d7a1c86e87226f5273e9d1def",
      "tree": "e877a6d701e99ca73a2843264fda8b2043281e09",
      "parents": [
        "abc8130d6a680026ffb2cc36b74d239e88f775d6"
      ],
      "author": {
        "name": "Ernie Rael",
        "email": "errael@raelity.com",
        "time": "Sun Jun 04 18:11:35 2023 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Jun 04 18:11:35 2023 +0100"
      },
      "message": "patch 9.0.1605: crash when calling method on super in child constructor\n\nProblem:    Crash when calling method on super in child constructor. (Israel\n            Chauca Fuentes)\nSolution:   Clear the type list. (Ernie Rael, closes #12489, closes #12471)\n"
    },
    {
      "commit": "61378a15425553cec1ec15f590e70ca50c7c34a8",
      "tree": "1e4118448d072ef45773ef6d10ea9e2326b39294",
      "parents": [
        "89f9ffbe810c4705439096d646681e734e353e3e"
      ],
      "author": {
        "name": "h-east",
        "email": "h.east.727@gmail.com",
        "time": "Tue Apr 18 19:07:29 2023 +0100"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Apr 18 19:07:29 2023 +0100"
      },
      "message": "patch 9.0.1466: cannot use an object member name as a method argument\n\nProblem:    Cannot use an object member name as a method argument.\nSolution:   Do not give an error for using an object member name for a method\n            argument. (Hirohito Higashi, closes #12241, closes #12225)\n            Fix line number for other argument error.\n"
    },
    {
      "commit": "d13dd30240e32071210f55b587182ff48757ea46",
      "tree": "4a752aa8839e10003439f858e8d9125f7907a240",
      "parents": [
        "c481ad38f05c9f759ca7fd01a54c78acad794e85"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 11 20:56:35 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Mar 11 20:56:35 2023 +0000"
      },
      "message": "patch 9.0.1402: crash when using null_class\n\nProblem:    Crash when using null_class.\nSolution:   Give an error when trying to use a null class.\n"
    },
    {
      "commit": "d8742476d11e75e3b733f21d9aeac1cbd2a02c6f",
      "tree": "ae90655413daae3c88c7d2c9c9369b2c58f202f6",
      "parents": [
        "5fb78c3fa5c996c08a65431d698bd2c251eef5c7"
      ],
      "author": {
        "name": "\u003d?UTF-8?q?Ola\u003d20S\u003dC3\u003dB6der?\u003d",
        "email": "rolfkopman@gmail.com",
        "time": "Sun Mar 05 13:12:32 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sun Mar 05 13:12:32 2023 +0000"
      },
      "message": "patch 9.0.1381: ACCESS_ names have a conflict with on some systems\n\nProblem:    ACCESS_ names have a conflict with on some systems.\nSolution:   Rename by prepending VIM_. (Ola Söder, closes #12105)\n"
    },
    {
      "commit": "83ae6150bf6bd313487b3a51f9be9836e8b9c20f",
      "tree": "2bb42b70c458b89067896cc22796dea7270d7648",
      "parents": [
        "d6a4ea3aa0d3f4a886ea900e94bf4e8ca8ae8d63"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 25 19:59:31 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Feb 25 19:59:31 2023 +0000"
      },
      "message": "patch 9.0.1355: no error when declaring a class twice\n\nProblem:    No error when declaring a class twice. (Ernie Rael)\nSolution:   Pass different flags when declaring the class. (closes #12057)\n"
    },
    {
      "commit": "b1e32ac0c998808705cfbd59e4b8510931875078",
      "tree": "22bf3a12787ac488a056318c5b2460071cc0f3aa",
      "parents": [
        "938ae280c79b8cdb0fca60336ec4c090ecd8bb5a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 21 12:38:51 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Feb 21 12:38:51 2023 +0000"
      },
      "message": "patch 9.0.1334: using tt_member for the class leads to mistakes\n\nProblem:    Using tt_member for the class leads to mistakes.\nSolution:   Add a separate tt_class field.\n"
    },
    {
      "commit": "552bdca781bd202012224316ffae3439aac83b7b",
      "tree": "fcc7acc9a36ad99b9d74635a76d84f7ab688b8da",
      "parents": [
        "eea0a00811e8e8e3c2d07964ea61795cce5a4665"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Feb 17 21:08:50 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Feb 17 21:08:50 2023 +0000"
      },
      "message": "patch 9.0.1317: crash when using an unset object variable\n\nProblem:    Crash when using an unset object variable.\nSolution:   Give an error instead. (closes #12005)\n"
    },
    {
      "commit": "d0200c8631582bbb16a9b585e2ca7adccc84ccdd",
      "tree": "91de748be127428bb62bbd295c41ad52b4b7336a",
      "parents": [
        "192e24d974522852bdca67db6d76ead87f57e677"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 28 15:19:40 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Sat Jan 28 15:19:40 2023 +0000"
      },
      "message": "patch 9.0.1254: calling a method on an interface does not work\n\nProblem:    Calling a method on an interface does not work.\nSolution:   At runtime figure out what method to call. (closes #11901)\n"
    },
    {
      "commit": "657aea7fc47fb919ce76fad64ba0ec55a1af80f1",
      "tree": "c2d3c2d2dd3e8eba5c54545464e2b7476eda7dfe",
      "parents": [
        "53f54e49b7152e93d09ff77406f7eb63b3b5f732"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 27 13:16:19 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Fri Jan 27 13:16:19 2023 +0000"
      },
      "message": "patch 9.0.1249: cannot export an abstract class\n\nProblem:    Cannot export an abstract class. (Ernie Rael)\nSolution:   Add the EX_EXPORT flag to :abstract. (closes #11884)\n"
    },
    {
      "commit": "62a6923470827acbf124df41134ae6df52f334e6",
      "tree": "52f1ea2c62400809c2a75075da2d33466a9fe62f",
      "parents": [
        "b149d2279673aa89ab5e35958d05cc4bcc70f82a"
      ],
      "author": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 24 15:07:04 2023 +0000"
      },
      "committer": {
        "name": "Bram Moolenaar",
        "email": "Bram@vim.org",
        "time": "Tue Jan 24 15:07:04 2023 +0000"
      },
      "message": "patch 9.0.1240: cannot access a private object member in a lambda\n\nProblem:    Cannot access a private object member in a lambda defined inside\n            the class.\nSolution:   Go up the context stack to find the class. (closes #11866)\n"
    }
  ],
  "next": "29ac5df37baf7e6e751c7ebd4ab37a2aa826e9e6"
}
