)]}'
{
  "commit": "5ee554164c10218e4d176d045ef235e74173a12d",
  "tree": "30f0a6aaf829240bb45a0e92109bfff54be08e11",
  "parents": [
    "70cac98cd578327216363d5ba0e643b6bc5fd3a8"
  ],
  "author": {
    "name": "Ali Asghar",
    "email": "98263017+alliasgher@users.noreply.github.com",
    "time": "Wed Aug 19 18:57:54 2026 +0500"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Aug 19 07:57:54 2026 -0600"
  },
  "message": "Preserve blank lines before a closing fmt: on comment (#5300)\n\n* Preserve blank lines before a closing fmt: on comment\n\nThe blank run that terminates a fmt: off region lives in the prefix of the\nfollowing \u0027# fmt: on\u0027 standalone comment, not in the verbatim block that\n_handle_regular_fmt_block produces. _maybe_empty_lines therefore capped it\nto max_allowed like any ordinary blank run, silently reformatting lines the\nuser had opted out of.\n\nSkip the cap for a \u0027# fmt: on\u0027 comment that closes a converted block.\n\n* Add CHANGES.md entry\n\n* Apply suggestion from @cobaltt7\n\n---------\n\nCo-authored-by: cobalt \u003c61329810+cobaltt7@users.noreply.github.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d15cca90c0b63e423d6e592bd91a77acd3b6d2db",
      "old_mode": 33188,
      "old_path": "CHANGES.md",
      "new_id": "64ce1c3afcbf0b499f354ac180bb287cb1a241cf",
      "new_mode": 33188,
      "new_path": "CHANGES.md"
    },
    {
      "type": "modify",
      "old_id": "f612d8dc48b712b9073a4ed059e3e46e4ecb6684",
      "old_mode": 33188,
      "old_path": "src/black/lines.py",
      "new_id": "efc268f3a78f30d3e3f6cfdc339dd8857b3ca4f3",
      "new_mode": 33188,
      "new_path": "src/black/lines.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "aeb43e688413dc34a986c9bdfa014f38663f4ff4",
      "new_mode": 33188,
      "new_path": "tests/data/cases/fmtonoff9.py"
    }
  ]
}
