)]}'
{
  "commit": "22c7ec3a05beb55810dda4e5d79b9763a21a8ddf",
  "tree": "1fe1f656016cefb647c4d787c3cc911b6406517e",
  "parents": [
    "11279616cf96c81d57542d5ddabc49d4ad79a0ac"
  ],
  "author": {
    "name": "Jordan Bayles",
    "email": "bayles.jordan@gmail.com",
    "time": "Wed Jun 17 00:51:49 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Jun 17 00:51:49 2026 -0700"
  },
  "message": "fix: allow a comment between a trailing comma and \u0027]\u0027 (#1500) (#1696)\n\nTrailing commas and comments are both allowed by default, but they did\nnot compose inside arrays: readArray detected a trailing-comma \u0027]\u0027 with a\nraw `*current_ \u003d\u003d \u0027]\u0027` peek that skipped only whitespace, not comments.\nSo `[1, 2, /* c */]` left current_ at the comment, the peek failed, and\nthe parser tried to read another value -- which hit \u0027]\u0027 and reported\n\"value, object or array expected\". readObject already handled this via\nreadTokenSkippingComments.\n\nAdd skipCommentTokens() (skip whitespace and comments, leaving current_\nat the next significant character) and use it in readArray before the\n\u0027]\u0027 check. Consumed comments stay in commentsBefore_, so a comment before\na real element is still attached to it; if the array ends, they are\nsimply not attached -- matching object behavior.\n\nAdds CharReaderTest/parseTrailingCommaWithComment covering line/block\ncomments after a trailing comma, an empty array containing only a\ncomment, the object form, and that a comment before a real element is\nstill attached.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ce9ca1bda60baba3d92d649b759f9f3f2177f950",
      "old_mode": 33188,
      "old_path": "src/lib_json/json_reader.cpp",
      "new_id": "164d41d6f38236f666e14f7089e1feca9e5a8cb1",
      "new_mode": 33188,
      "new_path": "src/lib_json/json_reader.cpp"
    },
    {
      "type": "modify",
      "old_id": "495bbb51e1520c0009b6f8555c4025201ea04785",
      "old_mode": 33188,
      "old_path": "src/test_lib_json/main.cpp",
      "new_id": "90025b443a414544fe413025d81ca89425c8d103",
      "new_mode": 33188,
      "new_path": "src/test_lib_json/main.cpp"
    }
  ]
}
