)]}'
{
  "log": [
    {
      "commit": "68356ea0342d1fb9a0ee6f489a9c6ab48adc90b6",
      "tree": "b8f16a7df55de4be82a4f04e33a73d2c635b40b9",
      "parents": [
        "d75b0934c5ca8cee4f64aa7ce53b92f9ed6857c6",
        "87905818fb8f7e00ddfb16b7110476f4476514cf"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Thu Jul 16 22:00:11 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 22:00:11 2026 +0000"
      },
      "message": "Merge pull request #2587 from DanielNoord/mypy-fixes\n\nFix `mypy` issues uncovered by compiling with `mypyc`\n"
    },
    {
      "commit": "87905818fb8f7e00ddfb16b7110476f4476514cf",
      "tree": "b8f16a7df55de4be82a4f04e33a73d2c635b40b9",
      "parents": [
        "d75b0934c5ca8cee4f64aa7ce53b92f9ed6857c6"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Thu Jul 16 23:55:58 2026 +0200"
      },
      "committer": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Thu Jul 16 23:55:58 2026 +0200"
      },
      "message": "Fix `mypy` issues uncovered by compiling with `mypyc`\n"
    },
    {
      "commit": "d75b0934c5ca8cee4f64aa7ce53b92f9ed6857c6",
      "tree": "2559bdc7cf05e1f4d9b0d88ee02d4696d50001b2",
      "parents": [
        "e971161c55ebbed6c2c9a435d27cc6c832a551e5",
        "0f3f0326f459f9b6816ae667165e4be60b29135c"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Thu Jul 16 20:40:10 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 20:40:10 2026 +0000"
      },
      "message": "Merge pull request #2585 from DanielNoord/wrap-modes\n\nDon\u0027t dynamically generate `WrapModes`\n"
    },
    {
      "commit": "0f3f0326f459f9b6816ae667165e4be60b29135c",
      "tree": "2559bdc7cf05e1f4d9b0d88ee02d4696d50001b2",
      "parents": [
        "e971161c55ebbed6c2c9a435d27cc6c832a551e5"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Thu Jul 16 22:37:12 2026 +0200"
      },
      "committer": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Thu Jul 16 22:37:12 2026 +0200"
      },
      "message": "Don\u0027t dynamically generate `WrapModes`\n"
    },
    {
      "commit": "e971161c55ebbed6c2c9a435d27cc6c832a551e5",
      "tree": "1d9e82fa2a4870857fa9b4c775aa72838bb6a724",
      "parents": [
        "a8c000401c64ec3d84e828e4fc5f228d7ad24e0b",
        "3c087a0019c76c042a278da15f05ba926fc2d01f"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Thu Jul 16 19:35:21 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 19:35:21 2026 +0000"
      },
      "message": "Merge pull request #2581 from sakshichitnis27/Issue/2569-sort-reexports-skip\n\nHonor skip comments when sorting reexports\n"
    },
    {
      "commit": "3c087a0019c76c042a278da15f05ba926fc2d01f",
      "tree": "1d9e82fa2a4870857fa9b4c775aa72838bb6a724",
      "parents": [
        "a8c000401c64ec3d84e828e4fc5f228d7ad24e0b"
      ],
      "author": {
        "name": "sakshichitnis27",
        "email": "sakshigchitnis27@gmail.com",
        "time": "Wed Jul 15 08:06:02 2026 +0000"
      },
      "committer": {
        "name": "sakshichitnis27",
        "email": "sakshigchitnis27@gmail.com",
        "time": "Wed Jul 15 08:06:02 2026 +0000"
      },
      "message": "Honor skip comments when sorting reexports\n"
    },
    {
      "commit": "a8c000401c64ec3d84e828e4fc5f228d7ad24e0b",
      "tree": "e04088a867cad8b8e38cc015176ad8a86c672363",
      "parents": [
        "7f321d375f31a2f03833bc9a548e8783f2b5c420",
        "0577f3a303adcfcab350e72b3f2a765b45e34372"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Mon Jul 13 20:37:07 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 20:37:07 2026 +0000"
      },
      "message": "Merge pull request #2579 from DanielNoord/tomli\n\nBump vendored `tomli`\n"
    },
    {
      "commit": "0577f3a303adcfcab350e72b3f2a765b45e34372",
      "tree": "e04088a867cad8b8e38cc015176ad8a86c672363",
      "parents": [
        "d6f5a65b81eb2ac814f49183d3169e84d346fcb1"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Mon Jul 13 22:35:34 2026 +0200"
      },
      "committer": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Mon Jul 13 22:35:34 2026 +0200"
      },
      "message": "Run ruff format\n"
    },
    {
      "commit": "d6f5a65b81eb2ac814f49183d3169e84d346fcb1",
      "tree": "c1bb3de935091c0f1bc5644ec503288fb62de211",
      "parents": [
        "c63f0bf47346df40e30ce0cda007714d3a4fbd54"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Mon Jul 13 22:32:11 2026 +0200"
      },
      "committer": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Mon Jul 13 22:32:11 2026 +0200"
      },
      "message": "Remove unused import\n"
    },
    {
      "commit": "c63f0bf47346df40e30ce0cda007714d3a4fbd54",
      "tree": "565cc4582d387e53fceea1c1a8c6f6bef88a1df2",
      "parents": [
        "4cde37c189e5f4a1b721110aa82972efc0f848e6"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Mon Jul 13 22:28:27 2026 +0200"
      },
      "committer": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Mon Jul 13 22:28:27 2026 +0200"
      },
      "message": "Run `isort` over vendored code\n"
    },
    {
      "commit": "4cde37c189e5f4a1b721110aa82972efc0f848e6",
      "tree": "21301cd07447ed7675f1d2d09a9140f29a1aacff",
      "parents": [
        "7f321d375f31a2f03833bc9a548e8783f2b5c420"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Mon Jul 13 22:28:14 2026 +0200"
      },
      "committer": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Mon Jul 13 22:28:14 2026 +0200"
      },
      "message": "Bump vendored `tomli` to `2.4.1`\n"
    },
    {
      "commit": "7f321d375f31a2f03833bc9a548e8783f2b5c420",
      "tree": "2b6a71b2dcf0cddf79982991f43159112275f487",
      "parents": [
        "590141c1af76897494c28bac86c3e6398bbd55f9",
        "339aaba9f373cdea4e5dba5b1c4a7a284ffc057c"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Sun Jul 12 14:16:10 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 12 14:16:10 2026 +0000"
      },
      "message": "Merge pull request #2576 from lord-haffi/issue/2280\n\nfix: make sorted __all__ and literals black-compatible (#2280)\n"
    },
    {
      "commit": "590141c1af76897494c28bac86c3e6398bbd55f9",
      "tree": "a147ab57dcd1e47fc3da3110bf33eddfd1c572db",
      "parents": [
        "fd8bd075176d074af69aa6acae7ed89a6a89bb05",
        "c265800170f99e10a8a0c092209b8fc4d2c7471e"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Fri Jul 10 07:24:41 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 10 07:24:41 2026 +0000"
      },
      "message": "Merge pull request #2577 from maxtaran2010/fix/jsonifiable-typo-in-preconvert-docstring\n\nFix typo in _preconvert docstring: JSONifyiable -\u003e JSONifiable\n"
    },
    {
      "commit": "c265800170f99e10a8a0c092209b8fc4d2c7471e",
      "tree": "a147ab57dcd1e47fc3da3110bf33eddfd1c572db",
      "parents": [
        "fd8bd075176d074af69aa6acae7ed89a6a89bb05"
      ],
      "author": {
        "name": "maxtaran2010",
        "email": "ocotifuzo727@gmail.com",
        "time": "Wed Jul 08 12:36:20 2026 +0300"
      },
      "committer": {
        "name": "maxtaran2010",
        "email": "ocotifuzo727@gmail.com",
        "time": "Wed Jul 08 12:36:20 2026 +0300"
      },
      "message": "Fix typo in _preconvert docstring: JSONifyiable -\u003e JSONifiable\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n"
    },
    {
      "commit": "339aaba9f373cdea4e5dba5b1c4a7a284ffc057c",
      "tree": "ef5d932f4b0b77e0555c5085217e90b3bd94314b",
      "parents": [
        "6e9b20ce2a6605e91ea5e2be6cd7cb8173cd504e"
      ],
      "author": {
        "name": "lord-haffi",
        "email": "leon.haffmans@hochfrequenz.de",
        "time": "Mon Jul 06 13:41:02 2026 +0000"
      },
      "committer": {
        "name": "lord-haffi",
        "email": "leon.haffmans@hochfrequenz.de",
        "time": "Mon Jul 06 13:41:02 2026 +0000"
      },
      "message": "style: put _black_quote docstring closing quotes on their own line (FLK-D209); document _repr_element\n"
    },
    {
      "commit": "6e9b20ce2a6605e91ea5e2be6cd7cb8173cd504e",
      "tree": "4c19cc45f5d0efee6e114ea7501ac3ef6495a6cf",
      "parents": [
        "1a8642aa7b19552e8d6ad86ef67260dea387c8d5"
      ],
      "author": {
        "name": "lord-haffi",
        "email": "leon.haffmans@hochfrequenz.de",
        "time": "Mon Jul 06 13:36:04 2026 +0000"
      },
      "committer": {
        "name": "lord-haffi",
        "email": "leon.haffmans@hochfrequenz.de",
        "time": "Mon Jul 06 13:36:04 2026 +0000"
      },
      "message": "style: apply ruff format to the new literal/regression tests\n"
    },
    {
      "commit": "1a8642aa7b19552e8d6ad86ef67260dea387c8d5",
      "tree": "7fc45b7ecd1cfe894cdad2c1c112c6cf2b043bd5",
      "parents": [
        "88db9f4f335175e3b605a68c752c93a4584994c1"
      ],
      "author": {
        "name": "lord-haffi",
        "email": "leon.haffmans@hochfrequenz.de",
        "time": "Mon Jul 06 12:45:49 2026 +0000"
      },
      "committer": {
        "name": "lord-haffi",
        "email": "leon.haffmans@hochfrequenz.de",
        "time": "Mon Jul 06 12:45:49 2026 +0000"
      },
      "message": "docs: reference PR #2576 instead of issue in reexport seek clamp comments\n"
    },
    {
      "commit": "88db9f4f335175e3b605a68c752c93a4584994c1",
      "tree": "f8463fbfc561c8f8ad3d59f224104c8876406686",
      "parents": [
        "0983e657656e2cd42c87a5bf2946e75061bfba9a"
      ],
      "author": {
        "name": "lord-haffi",
        "email": "leon.haffmans@hochfrequenz.de",
        "time": "Mon Jul 06 12:35:25 2026 +0000"
      },
      "committer": {
        "name": "lord-haffi",
        "email": "leon.haffmans@hochfrequenz.de",
        "time": "Mon Jul 06 12:35:25 2026 +0000"
      },
      "message": "fix: clamp sort_reexports rollback seek so check mode can\u0027t seek negative (#2280)\n\nThe reexport handler wrote the `__all__` opening line to the output and then did\n`output_stream.seek(output_stream.tell() - reexport_rollback)` to overwrite it with\nthe sorted literal. In check mode the output is a no-op stream (`_EmptyIO`) whose\n`tell()` is always 0, so a multi-line `__all__` made the seek target negative and\nraised `ValueError: Negative seek position`. Because the black-compatible formatter\nnow emits multi-line `__all__`, `isort --check` crashed on isort\u0027s own output.\n\nClamp the seek target to 0. Real seekable output is unaffected: there `tell()` is\nalways \u003e\u003d the rollback length, so the clamp is a no-op.\n"
    },
    {
      "commit": "0983e657656e2cd42c87a5bf2946e75061bfba9a",
      "tree": "75bf2b7e491e436faa466166996f767972db5d0b",
      "parents": [
        "c7394e8f144373d75a95d4980c10bb120b85330e",
        "fd8bd075176d074af69aa6acae7ed89a6a89bb05"
      ],
      "author": {
        "name": "lord-haffi",
        "email": "leon.haffmans@hochfrequenz.de",
        "time": "Mon Jul 06 12:16:39 2026 +0000"
      },
      "committer": {
        "name": "lord-haffi",
        "email": "leon.haffmans@hochfrequenz.de",
        "time": "Mon Jul 06 12:16:39 2026 +0000"
      },
      "message": "Merge remote-tracking branch \u0027upstream/main\u0027 into issue/2280\n\n# Conflicts:\n#\ttests/unit/test_literal.py\n#\ttests/unit/test_regressions.py\n"
    },
    {
      "commit": "c7394e8f144373d75a95d4980c10bb120b85330e",
      "tree": "3cfcf8d5107fccfa1427de7b1d7e0296a1034f33",
      "parents": [
        "01adac172fc756224d2284276a67e14859c4a21a"
      ],
      "author": {
        "name": "lord-haffi",
        "email": "leon.haffmans@hochfrequenz.de",
        "time": "Mon Jul 06 11:46:31 2026 +0000"
      },
      "committer": {
        "name": "lord-haffi",
        "email": "leon.haffmans@hochfrequenz.de",
        "time": "Mon Jul 06 12:02:02 2026 +0000"
      },
      "message": "fix: make sorted __all__ and literals black-compatible (#2280)\n\nisort sorted __all__ (--sort-reexports) and inline literals (# isort: list,\n# isort: dict, # isort: tuple, ...) through stdlib pprint, which reads only\nline_length and ignores quote style, wrapping mode and trailing commas. Under\n--profile\u003dblack this produced single-quoted, pprint-wrapped, comma-less output\nthat black immediately reformatted, so isort + black never reached a fixpoint.\n\nReplace the pprint path with a small black-compatible formatter in isort.literal:\n\n- black-style quoting: prefer double quotes, fall back to single only to avoid\n  escaping, and defer to repr() for backslash/control chars and non-strings;\n- a single line when it fits line_length, otherwise vertical-hanging-indent\n  with a trailing comma controlled by include_trailing_comma;\n- the literal\u0027s own bracket type is preserved, keeping the mandatory trailing\n  comma that a one-element tuple needs.\n\npprint and ISortPrettyPrinter are removed entirely; dict sorting is formatted\nthe same way, fixing the identical black incompatibility for # isort: dict.\n\nCloses #2280\n"
    },
    {
      "commit": "fd8bd075176d074af69aa6acae7ed89a6a89bb05",
      "tree": "d32bf102a2c2457c17372dd9b40c6fddf22ae86d",
      "parents": [
        "6dcdb84056e03e97f226b7f986e56fd39f24b614",
        "793a91e50301b8b7812a733a7fefe5b4b78c7674"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Sat Jul 04 16:51:10 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 04 16:51:10 2026 +0000"
      },
      "message": "Merge pull request #2574 from apoorvdarshan/fix-isort-skip-with-future-import-2092\n\nHonor `# isort: skip` when a __future__ import is present (#2092)\n"
    },
    {
      "commit": "6dcdb84056e03e97f226b7f986e56fd39f24b614",
      "tree": "52169482e781c97e0a105853869ae3c2ae9802db",
      "parents": [
        "a0cc97f680bd9f3e3f34e85d68ba282d545f4022",
        "cef9dcc2fccbcb410ee05ec89c19737502a8a692"
      ],
      "author": {
        "name": "staticdev",
        "email": "staticdev-support@proton.me",
        "time": "Sat Jul 04 13:02:21 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 04 13:02:21 2026 +0000"
      },
      "message": "Merge pull request #2575 from Khabib73/tests/improve-coverage-literal\n\nimprove coverage\n"
    },
    {
      "commit": "cef9dcc2fccbcb410ee05ec89c19737502a8a692",
      "tree": "52169482e781c97e0a105853869ae3c2ae9802db",
      "parents": [
        "a0cc97f680bd9f3e3f34e85d68ba282d545f4022"
      ],
      "author": {
        "name": "Khabib",
        "email": "136262760+Khabib73@users.noreply.github.com",
        "time": "Fri Jul 03 23:36:54 2026 +0300"
      },
      "committer": {
        "name": "Khabib",
        "email": "136262760+Khabib73@users.noreply.github.com",
        "time": "Sat Jul 04 11:23:24 2026 +0300"
      },
      "message": "improve coverage\n"
    },
    {
      "commit": "793a91e50301b8b7812a733a7fefe5b4b78c7674",
      "tree": "e21027627761b793555f1e318ef87e7b00f03b15",
      "parents": [
        "a0cc97f680bd9f3e3f34e85d68ba282d545f4022"
      ],
      "author": {
        "name": "apoorvdarshan",
        "email": "ad13dtu@gmail.com",
        "time": "Fri Jul 03 17:03:22 2026 +0530"
      },
      "committer": {
        "name": "apoorvdarshan",
        "email": "ad13dtu@gmail.com",
        "time": "Sat Jul 04 13:31:08 2026 +0530"
      },
      "message": "Honor `# isort: skip` when a __future__ import is present (#2092)\n\nA per-line `# isort: skip` directive was ignored when a `__future__`\nimport was present in the same block. Because `__future__` imports are\nalways floated to the top, isort spliced the sorted import block ahead of\nthe skipped line and relocated it below the block, silently violating the\ndirective.\n\nTreat a skipped import as a section boundary when earlier imports have\nalready been collected: flush those imports and emit the skipped statement\nin place so nothing can be sorted above it. Adds a regression test.\n"
    },
    {
      "commit": "a0cc97f680bd9f3e3f34e85d68ba282d545f4022",
      "tree": "dbe4e4abf8f667a7f7508eccc12c2a1e9bb53ad1",
      "parents": [
        "01adac172fc756224d2284276a67e14859c4a21a",
        "2b07aa52ea8cc1bcc2d773dca43a590ec4c68949"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Sat Jul 04 07:52:19 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 04 07:52:19 2026 +0000"
      },
      "message": "Merge pull request #2568 from urayoru113/issue/2093\n\nFix NOQA not added to long imports in several output paths\n"
    },
    {
      "commit": "2b07aa52ea8cc1bcc2d773dca43a590ec4c68949",
      "tree": "dbe4e4abf8f667a7f7508eccc12c2a1e9bb53ad1",
      "parents": [
        "01adac172fc756224d2284276a67e14859c4a21a"
      ],
      "author": {
        "name": "urayoru",
        "email": "urayoru@DESKTOP-976O7O9",
        "time": "Sat Jun 27 16:11:19 2026 +0800"
      },
      "committer": {
        "name": "urayoru",
        "email": "",
        "time": "Thu Jul 02 14:28:37 2026 +0800"
      },
      "message": "Fix NOQA not added to long imports in several output paths\n\nIn NOQA wrap mode (multi_line_output\u003d7) isort appends `# NOQA` to\nimports that cannot fit on one line. Several import output paths\nbypassed `wrap.line()` or called it before comments were attached,\nso the line-length check never saw the full line and `# NOQA` was\nnot added.\n\nFour paths were affected:\n\n1. force_single_line as-imports (L404-432): `with_comments()` wrapped\n   `wrap.line(...)` instead of the reverse, so comments were attached\n   after the length check. Swap the order to `wrap.line(with_comments(...))`.\n\n   Before (line_length\u003d40):\n     from m import func as alias  # type: ignore\n   After:\n     from m import func as alias  # type: ignore  # NOQA\n\n2. as-imports with opening-line comments + use_parentheses (L523-528):\n   `wrap.line()` ran on the import without opening comments, then\n   comments were appended afterward. Re-run `wrap.line()` in NOQA mode\n   after the comment is attached.\n\n   Before (line_length\u003d40):\n     from m import func as alias  # type: ignore  # pylint: disable\u003d...\n   After:\n     from m import func as alias  # type: ignore  # pylint: disable\u003d...  # NOQA\n\n3. combine_straight_imports (L725-736): the combined line was appended\n   directly without going through `wrap.line()`. Route it through\n   `wrap.line()`.\n\n   Before (line_length\u003d40):\n     import a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p\n   After:\n     import a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p  # NOQA\n\n4. straight imports (L755-767): each import was emitted via a generator\n   that only called `with_comments()`, never `wrap.line()`. Convert to\n   an explicit loop and wrap each line with `wrap.line()` only in NOQA\n   mode, to avoid changing wrapping behaviour in other modes.\n\n   Before (line_length\u003d40):\n     import aaaa...long...module as bbbb...long...alias\n   After:\n     import aaaa...long...module as bbbb...long...alias  # NOQA\n\nFixes #2093.\n"
    },
    {
      "commit": "01adac172fc756224d2284276a67e14859c4a21a",
      "tree": "291374f62c32cd62a33d4fda47f2bd1ac280d5b1",
      "parents": [
        "0740d0caf6f21843782fcb726bedeca0c19dc12b",
        "1a6ed16be151e03b96423c89099007bd1a276f2a"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Wed Jul 01 19:27:05 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 19:27:05 2026 +0000"
      },
      "message": "Merge pull request #2572 from PyCQA/dependabot/github_actions/github-actions-f70c9f6d5c\n\nBump the github-actions group with 3 updates\n"
    },
    {
      "commit": "1a6ed16be151e03b96423c89099007bd1a276f2a",
      "tree": "291374f62c32cd62a33d4fda47f2bd1ac280d5b1",
      "parents": [
        "0740d0caf6f21843782fcb726bedeca0c19dc12b"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jul 01 16:25:27 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 16:25:27 2026 +0000"
      },
      "message": "Bump the github-actions group with 3 updates\n\nBumps the github-actions group with 3 updates: [actions/checkout](https://github.com/actions/checkout), [codecov/codecov-action](https://github.com/codecov/codecov-action) and [sigstore/gh-action-sigstore-python](https://github.com/sigstore/gh-action-sigstore-python).\n\n\nUpdates `actions/checkout` from 6 to 7\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v6...v7)\n\nUpdates `codecov/codecov-action` from 6 to 7\n- [Release notes](https://github.com/codecov/codecov-action/releases)\n- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/codecov/codecov-action/compare/v6...v7)\n\nUpdates `sigstore/gh-action-sigstore-python` from 3.3.0 to 3.4.0\n- [Release notes](https://github.com/sigstore/gh-action-sigstore-python/releases)\n- [Changelog](https://github.com/sigstore/gh-action-sigstore-python/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/sigstore/gh-action-sigstore-python/compare/v3.3.0...v3.4.0)\n\n---\nupdated-dependencies:\n- dependency-name: actions/checkout\n  dependency-version: \u00277\u0027\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n  dependency-group: github-actions\n- dependency-name: codecov/codecov-action\n  dependency-version: \u00277\u0027\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n  dependency-group: github-actions\n- dependency-name: sigstore/gh-action-sigstore-python\n  dependency-version: 3.4.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: github-actions\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "0740d0caf6f21843782fcb726bedeca0c19dc12b",
      "tree": "9892fd49fd2ba2022de3f4e768a0a1b4e3c3bfc6",
      "parents": [
        "b1b176d53b70b8d04ab189c99570479c0bd5b1d0",
        "ee0073fd8dc2b5fc91ff8aca503220ef4c56c854"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Sun Jun 21 19:26:36 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 21 19:26:36 2026 +0000"
      },
      "message": "Merge pull request #2561 from PyCQA/dependabot/uv/cryptography-48.0.1\n\nBump cryptography from 46.0.7 to 48.0.1\n"
    },
    {
      "commit": "ee0073fd8dc2b5fc91ff8aca503220ef4c56c854",
      "tree": "9892fd49fd2ba2022de3f4e768a0a1b4e3c3bfc6",
      "parents": [
        "b1b176d53b70b8d04ab189c99570479c0bd5b1d0"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Jun 19 21:01:31 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 19 21:01:31 2026 +0000"
      },
      "message": "Bump cryptography from 46.0.7 to 48.0.1\n\nBumps [cryptography](https://github.com/pyca/cryptography) from 46.0.7 to 48.0.1.\n- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)\n- [Commits](https://github.com/pyca/cryptography/compare/46.0.7...48.0.1)\n\n---\nupdated-dependencies:\n- dependency-name: cryptography\n  dependency-version: 48.0.1\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "b1b176d53b70b8d04ab189c99570479c0bd5b1d0",
      "tree": "ab4615894dea7935e84ac6d3da63cfdf107a7a62",
      "parents": [
        "9622891fde62c34d6fc08f59a5e3715c1cc0e33a",
        "9274fcaaec6beb511eefa1e927703411ff57cd9d"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Mon Jun 15 19:59:39 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 15 19:59:39 2026 +0000"
      },
      "message": "Merge pull request #2558 from sarathfrancis90/fix/noqa-wrap-mode-space-accumulation\n\nFix NOQA wrap mode accumulating spaces before the comment on each run\n"
    },
    {
      "commit": "9274fcaaec6beb511eefa1e927703411ff57cd9d",
      "tree": "ab4615894dea7935e84ac6d3da63cfdf107a7a62",
      "parents": [
        "9622891fde62c34d6fc08f59a5e3715c1cc0e33a"
      ],
      "author": {
        "name": "Sarath Francis",
        "email": "sarathfrancis90@gmail.com",
        "time": "Mon Jun 15 04:00:52 2026 -0400"
      },
      "committer": {
        "name": "Sarath Francis",
        "email": "sarathfrancis90@gmail.com",
        "time": "Mon Jun 15 04:00:52 2026 -0400"
      },
      "message": "Fix NOQA wrap mode accumulating spaces before the comment on each run\n\nIn NOQA wrap mode (multi_line_output\u003d7) isort appends `# NOQA` to an import it\ncan\u0027t fit on one line. When such a line is re-processed, the auto-added comment\nis parsed back off and re-added through `add_to_line`. `parse()` returns the text\nthat precedes the `#`, which still includes the two spaces from the previous\n`comment_prefix`; `add_to_line` then appended the prefix on top of that leftover\nwhitespace, so every pass inserted two more spaces (`x  # NOQA` -\u003e `x    # NOQA`\n-\u003e ...) and the output never reached a fixpoint.\n\nStrip that orphaned trailing whitespace before re-adding the comment, but only\nwhen an existing comment was actually parsed off, so the indentation-only bases\nused by the multi-line wrap modes keep their indentation.\n\nFixes #2394.\n"
    },
    {
      "commit": "9622891fde62c34d6fc08f59a5e3715c1cc0e33a",
      "tree": "7e5d4ece54f3503a1b5eef32da3d2f943ee3b164",
      "parents": [
        "73c73a80b92bd0b54dc9e51f43acf11d213b0abc",
        "e72c36cce0345a6b9b76deeb775753521f534a03"
      ],
      "author": {
        "name": "staticdev",
        "email": "staticdev-support@proton.me",
        "time": "Sun Jun 14 12:17:22 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 14 12:17:22 2026 +0000"
      },
      "message": "Merge pull request #2557 from teeberg/fix-typo-acknlowedgements\n\nFix typo \"Acknlowedgements\"\n"
    },
    {
      "commit": "73c73a80b92bd0b54dc9e51f43acf11d213b0abc",
      "tree": "7f475ba441c57f4d58f0a39c02fd1c867c8a80a0",
      "parents": [
        "a70164f9c7ed2658b559d17c3991f7ff7ecaa522",
        "892248dc69d51c666e21dd31d769f50343c3f908"
      ],
      "author": {
        "name": "staticdev",
        "email": "staticdev-support@proton.me",
        "time": "Sun Jun 14 12:15:31 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 14 12:15:31 2026 +0000"
      },
      "message": "Merge pull request #2556 from sarathfrancis90/fix/noqa-wrap-mode-idempotency\n\nFix non-idempotent NOQA wrap mode with imports that carry their own comment\n"
    },
    {
      "commit": "e72c36cce0345a6b9b76deeb775753521f534a03",
      "tree": "7a95dff9c6d40dd0467a5f542f270e2af820705e",
      "parents": [
        "a70164f9c7ed2658b559d17c3991f7ff7ecaa522"
      ],
      "author": {
        "name": "Jonas Trappenberg",
        "email": "jonas@trappenberg.ch",
        "time": "Sun Jun 14 14:14:54 2026 +0200"
      },
      "committer": {
        "name": "Jonas Trappenberg",
        "email": "jonas@trappenberg.ch",
        "time": "Sun Jun 14 14:14:54 2026 +0200"
      },
      "message": "Fix typo \"Acknlowedgements\"\n"
    },
    {
      "commit": "892248dc69d51c666e21dd31d769f50343c3f908",
      "tree": "7f475ba441c57f4d58f0a39c02fd1c867c8a80a0",
      "parents": [
        "a70164f9c7ed2658b559d17c3991f7ff7ecaa522"
      ],
      "author": {
        "name": "Sarath Francis",
        "email": "sarathfrancis90@gmail.com",
        "time": "Fri Jun 12 03:56:51 2026 -0400"
      },
      "committer": {
        "name": "Sarath Francis",
        "email": "sarathfrancis90@gmail.com",
        "time": "Fri Jun 12 03:56:51 2026 -0400"
      },
      "message": "Fix non-idempotent NOQA wrap mode with imports that have their own comment\n\nIn NOQA wrap mode (multi_line_output\u003d7) isort appends `# NOQA` to imports\nthat can\u0027t fit on one line. When such an import also carries its own\ncomment, the first pass produces `# NOQA \u003ccomment\u003e`, but every subsequent\npass prepended another `NOQA` (`# NOQA NOQA \u003ccomment\u003e`, ...), so the\noutput never reached a fixpoint.\n\nThe guard meant to skip re-adding NOQA compared against the list of parsed\ncomments. After the first pass the NOQA and the original comment are\nre-parsed as a single combined comment string, so the exact-membership\ncheck no longer matched. Compare against the tokens of the joined comment\nstring instead so an existing NOQA is detected regardless of how the\ncomment was split.\n"
    },
    {
      "commit": "a70164f9c7ed2658b559d17c3991f7ff7ecaa522",
      "tree": "dc54ff9e4272ab7d195f922c6959c199f2844349",
      "parents": [
        "87adfe4732548abff5010336f2fc4b5e8237407d",
        "8dab19de0f1acd778d2f6869f80536c46299ecc4"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Sun Jun 07 16:11:25 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 16:11:25 2026 +0000"
      },
      "message": "Merge pull request #2554 from sarathfrancis90/fix/split-on-trailing-comma-idempotency\n\nFix non-idempotent output with split_on_trailing_comma and a non-default wrap mode\n"
    },
    {
      "commit": "8dab19de0f1acd778d2f6869f80536c46299ecc4",
      "tree": "dc54ff9e4272ab7d195f922c6959c199f2844349",
      "parents": [
        "87adfe4732548abff5010336f2fc4b5e8237407d"
      ],
      "author": {
        "name": "Sarath Francis",
        "email": "sarathfrancis90@gmail.com",
        "time": "Fri Jun 05 09:56:58 2026 -0400"
      },
      "committer": {
        "name": "Sarath Francis",
        "email": "sarathfrancis90@gmail.com",
        "time": "Fri Jun 05 09:56:58 2026 -0400"
      },
      "message": "Fix non-idempotent output with split_on_trailing_comma and a non-default wrap mode\n\nWith include_trailing_comma + split_on_trailing_comma enabled, isort appends a\ntrailing comma whenever it wraps an import across multiple lines. The explode\nwas only applied when the *input* already ended in a trailing comma, so the\nfirst pass wrapped using the requested multi_line_output mode and only the\nsecond pass collapsed to VERTICAL_HANGING_INDENT, leaving the output unstable.\n\nApply the explode based on the effective trailing comma so a single pass\nreaches a fixpoint for every wrap mode.\n"
    },
    {
      "commit": "87adfe4732548abff5010336f2fc4b5e8237407d",
      "tree": "62935dedd6eae28a4e68439035b3ecd203c9b766",
      "parents": [
        "e9dba8893812ee7986b020662abba4d5659e5851",
        "5d7a933b51b5d4cc18e359b086e84799dd53df48"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Wed Jun 03 19:41:29 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 03 19:41:29 2026 +0000"
      },
      "message": "Merge pull request #2547 from Abdu-Ahmed/fix/sort-reexports-non-seekable-stream-2393\n\nFix --sort-reexports crash with non-seekable streams (e.g. stdin)\n"
    },
    {
      "commit": "5d7a933b51b5d4cc18e359b086e84799dd53df48",
      "tree": "62935dedd6eae28a4e68439035b3ecd203c9b766",
      "parents": [
        "a23e62a89b30218c2f4eefbb79a3ed22fe057fda"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Wed Jun 03 21:38:47 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 03 21:38:47 2026 +0200"
      },
      "message": "Fix style properly"
    },
    {
      "commit": "a23e62a89b30218c2f4eefbb79a3ed22fe057fda",
      "tree": "08bee88d6334c197e4d1971cab04e5560dbdc859",
      "parents": [
        "d72a1eb1b479dfc99e5c7e913caaa8b2fda17415"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Wed Jun 03 21:33:48 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 03 21:33:48 2026 +0200"
      },
      "message": "Fix style"
    },
    {
      "commit": "d72a1eb1b479dfc99e5c7e913caaa8b2fda17415",
      "tree": "c93920e5a0d83b90aa67c982f40239f6f6bbb2f6",
      "parents": [
        "442e3a325736f432b822d10e14c1dcf0b0cb0775"
      ],
      "author": {
        "name": "Abdu Ahmed",
        "email": "iamabduahmed@gmail.com",
        "time": "Mon Jun 01 22:36:02 2026 +0300"
      },
      "committer": {
        "name": "staticdev",
        "email": "staticdev-support@proton.me",
        "time": "Tue Jun 02 19:27:31 2026 +0200"
      },
      "message": "Raise error when --sort-reexports is used with stdin\n\n--sort-reexports requires seeking backwards in the output stream to\nrewrite the __all__ section, which is fundamentally incompatible with\nnon-seekable streams like stdout pipes.\n\nRather than crashing with an internal io.UnsupportedOperation error,\nraise a clear error at the CLI level when \u0027-\u0027 (stdin) is used with\n--sort-reexports, following the same pattern as the existing\n\u0027show_files with streaming input\u0027 check in main.py.\n\nFixes #2393\n"
    },
    {
      "commit": "442e3a325736f432b822d10e14c1dcf0b0cb0775",
      "tree": "5679e93f365defb7b57f84d064844f211a7892b1",
      "parents": [
        "8b450398ef368157a127ee3375b4714049d87c97"
      ],
      "author": {
        "name": "Abdu Ahmed",
        "email": "iamabduahmed@gmail.com",
        "time": "Thu May 28 13:08:20 2026 +0300"
      },
      "committer": {
        "name": "staticdev",
        "email": "staticdev-support@proton.me",
        "time": "Tue Jun 02 19:27:31 2026 +0200"
      },
      "message": "Raise ValueError when sort_reexports used with non-seekable stream\n\nThe sort_reexports feature requires seeking backwards in the output\nstream to rewrite the __all__ section. When used with non-seekable\nstreams (e.g. stdout pipes), the previous code crashed with an\ninternal io.UnsupportedOperation error.\n\nPer maintainer feedback, the correct fix is to raise a clear\nValueError explaining the limitation rather than silently buffering\n(which would discard output).\n\nFixes #2393\n"
    },
    {
      "commit": "8b450398ef368157a127ee3375b4714049d87c97",
      "tree": "70e5d94b350a6e770048efddf47cc27b4f6d4bfb",
      "parents": [
        "e9dba8893812ee7986b020662abba4d5659e5851"
      ],
      "author": {
        "name": "Abdu Ahmed",
        "email": "iamabduahmed@gmail.com",
        "time": "Sun May 24 11:47:23 2026 +0300"
      },
      "committer": {
        "name": "staticdev",
        "email": "staticdev-support@proton.me",
        "time": "Tue Jun 02 19:27:31 2026 +0200"
      },
      "message": "Fix --sort-reexports crash with non-seekable streams (e.g. stdin)\n\nWhen --sort-reexports was used with stdin, isort crashed with\nio.UnsupportedOperation because core.process() called seek() on\nstdout, which is not seekable.\n\nFix: in api.sort_stream(), if sort_reexports is enabled and the\noutput stream is not seekable, swap it for an internal StringIO\nbuffer before passing to core.process().\n\nFixes #2393\n"
    },
    {
      "commit": "e9dba8893812ee7986b020662abba4d5659e5851",
      "tree": "df0c4ba9f072fad502cf45486756fa995b614625",
      "parents": [
        "5c42386e44a49c1b3ec01d9ee1eb7b29a7f029b2",
        "407e9373c35ee72888074799699693b9e01def17"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Sun May 31 15:42:13 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 31 15:42:13 2026 +0000"
      },
      "message": "Merge pull request #2553 from PyCQA/copilot/fix-issue-2528\n\nHonor `# isort: off/on/split` during `float_to_top` preprocessing with CRLF input\n"
    },
    {
      "commit": "407e9373c35ee72888074799699693b9e01def17",
      "tree": "df0c4ba9f072fad502cf45486756fa995b614625",
      "parents": [
        "ff3a332340ed543ab922e7ed42bde6f5356eb8fd"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Sun May 31 17:40:24 2026 +0200"
      },
      "committer": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Sun May 31 17:40:24 2026 +0200"
      },
      "message": "Fix typing issue\n"
    },
    {
      "commit": "ff3a332340ed543ab922e7ed42bde6f5356eb8fd",
      "tree": "e65d43cccd10de54a6beac46b946cea6d0af056d",
      "parents": [
        "487b9e46894fbadecb5b2a0576b3ff2b2fb4b839"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Sun May 31 17:37:36 2026 +0200"
      },
      "committer": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Sun May 31 17:37:36 2026 +0200"
      },
      "message": "Change test format\n"
    },
    {
      "commit": "487b9e46894fbadecb5b2a0576b3ff2b2fb4b839",
      "tree": "d4bbb70d0fc28bf6407139fd7e3cbd591163444e",
      "parents": [
        "5c42386e44a49c1b3ec01d9ee1eb7b29a7f029b2"
      ],
      "author": {
        "name": "copilot-swe-agent[bot]",
        "email": "198982749+Copilot@users.noreply.github.com",
        "time": "Sun May 31 15:10:18 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 31 15:10:18 2026 +0000"
      },
      "message": "Fix float_to_top isort off handling with CRLF\n"
    },
    {
      "commit": "5c42386e44a49c1b3ec01d9ee1eb7b29a7f029b2",
      "tree": "077129938c73b8c7c07d7fa31ecdc2fc99cabe67",
      "parents": [
        "7317ad18f9cdf1affd8d8b57ca8b9b1ea842d748",
        "b676a56f77a90dcbf922161c22d616911baa9eb6"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Sun May 31 14:11:36 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 31 14:11:36 2026 +0000"
      },
      "message": "Merge pull request #2550 from PyCQA/dependabot/uv/uv-0.11.15\n\nBump uv from 0.11.6 to 0.11.15\n"
    },
    {
      "commit": "b676a56f77a90dcbf922161c22d616911baa9eb6",
      "tree": "077129938c73b8c7c07d7fa31ecdc2fc99cabe67",
      "parents": [
        "7317ad18f9cdf1affd8d8b57ca8b9b1ea842d748"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri May 29 21:32:15 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 29 21:32:15 2026 +0000"
      },
      "message": "Bump uv from 0.11.6 to 0.11.15\n\nBumps [uv](https://github.com/astral-sh/uv) from 0.11.6 to 0.11.15.\n- [Release notes](https://github.com/astral-sh/uv/releases)\n- [Changelog](https://github.com/astral-sh/uv/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/astral-sh/uv/compare/0.11.6...0.11.15)\n\n---\nupdated-dependencies:\n- dependency-name: uv\n  dependency-version: 0.11.15\n  dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "7317ad18f9cdf1affd8d8b57ca8b9b1ea842d748",
      "tree": "ba26bec327addedefbc76138fc75f162fa2797d3",
      "parents": [
        "0351f0e7df994df92433483aa7914fbe5f974c27",
        "40fc96e3a4a61de99dd208fba10eecc5f903389b"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Tue May 19 20:28:39 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 19 20:28:39 2026 +0000"
      },
      "message": "Merge pull request #2546 from PyCQA/dependabot/uv/idna-3.15\n\nBump idna from 3.10 to 3.15\n"
    },
    {
      "commit": "40fc96e3a4a61de99dd208fba10eecc5f903389b",
      "tree": "ba26bec327addedefbc76138fc75f162fa2797d3",
      "parents": [
        "0351f0e7df994df92433483aa7914fbe5f974c27"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue May 19 20:19:14 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 19 20:19:14 2026 +0000"
      },
      "message": "Bump idna from 3.10 to 3.15\n\nBumps [idna](https://github.com/kjd/idna) from 3.10 to 3.15.\n- [Release notes](https://github.com/kjd/idna/releases)\n- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.md)\n- [Commits](https://github.com/kjd/idna/compare/v3.10...v3.15)\n\n---\nupdated-dependencies:\n- dependency-name: idna\n  dependency-version: \u00273.15\u0027\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "0351f0e7df994df92433483aa7914fbe5f974c27",
      "tree": "199aad918f7a6506c6aa483098a8d108fd0590e1",
      "parents": [
        "967d206ffc96a6be5a1723d29e55ca64ee44b1f1",
        "58b3a6129f30a8b6d1b2b49971bd7bd9c826c16c"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Tue May 12 19:38:26 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 12 19:38:26 2026 +0000"
      },
      "message": "Merge pull request #2542 from sparrowt/issue-2532\n\nFix git_hook lazy\u003dTrue option\n"
    },
    {
      "commit": "58b3a6129f30a8b6d1b2b49971bd7bd9c826c16c",
      "tree": "f4b0d2192d8cbd4b89b7f0d1c84c9ec3f28640d7",
      "parents": [
        "a6cf94296d6ee4a6c29525a2a72eee00ad961e33"
      ],
      "author": {
        "name": "T Sparrow",
        "email": "793763+sparrowt@users.noreply.github.com",
        "time": "Tue May 12 10:09:08 2026 +0100"
      },
      "committer": {
        "name": "T Sparrow",
        "email": "793763+sparrowt@users.noreply.github.com",
        "time": "Tue May 12 10:19:34 2026 +0100"
      },
      "message": "Ensure lazy\u003dTrue checks the unstaged file\n\nThe whole point of `lazy\u003dTrue` is to also flag changes\nwhich have not yet been staged - these files are\nalready discovered (by removing `--cached`) but we\nalso need to check the on-disk copy, not the staged\ncopy otherwise unstaged diffs do not cause isort to fail.\n\nFixes #2532\n"
    },
    {
      "commit": "a6cf94296d6ee4a6c29525a2a72eee00ad961e33",
      "tree": "bebe472a70b93e1a246744f7c6bc7422eda15dd2",
      "parents": [
        "5e24c2414fa4aba0a039ce0e7940d07c26246ea3"
      ],
      "author": {
        "name": "T Sparrow",
        "email": "793763+sparrowt@users.noreply.github.com",
        "time": "Tue May 12 10:03:53 2026 +0100"
      },
      "committer": {
        "name": "T Sparrow",
        "email": "793763+sparrowt@users.noreply.github.com",
        "time": "Tue May 12 10:19:29 2026 +0100"
      },
      "message": "TDD: regression test for #2532\n"
    },
    {
      "commit": "967d206ffc96a6be5a1723d29e55ca64ee44b1f1",
      "tree": "4f87bc2c0962ad995f142586309420dc7759ab4d",
      "parents": [
        "f7d0e75381ef3f84e194d518eb074b35033c521c",
        "9a323001b15c64437ba318c9f3014b3b9a4fb655"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Tue May 12 08:25:58 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 12 08:25:58 2026 +0000"
      },
      "message": "Merge pull request #2522 from PyCQA/copilot/update-release-workflow-structure\n\nModernize release workflow: split build/publish jobs, fix broken steps\n"
    },
    {
      "commit": "9a323001b15c64437ba318c9f3014b3b9a4fb655",
      "tree": "4f87bc2c0962ad995f142586309420dc7759ab4d",
      "parents": [
        "00f8a260af0f4c6c1c6c3c0c597cda353766d29d"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Fri Apr 24 09:58:41 2026 +0200"
      },
      "committer": {
        "name": "staticdev",
        "email": "staticdev-support@proton.me",
        "time": "Tue May 12 10:23:54 2026 +0200"
      },
      "message": "Changes"
    },
    {
      "commit": "00f8a260af0f4c6c1c6c3c0c597cda353766d29d",
      "tree": "b6d53917596b8b9d5593c6112723369cd1d4cab2",
      "parents": [
        "f7d0e75381ef3f84e194d518eb074b35033c521c"
      ],
      "author": {
        "name": "copilot-swe-agent[bot]",
        "email": "198982749+Copilot@users.noreply.github.com",
        "time": "Fri Apr 24 07:51:19 2026 +0000"
      },
      "committer": {
        "name": "staticdev",
        "email": "staticdev-support@proton.me",
        "time": "Tue May 12 10:23:54 2026 +0200"
      },
      "message": "Update release.yml to pylint-style structure with separate build/publish jobs\n\nAgent-Logs-Url: https://github.com/PyCQA/isort/sessions/c19b8484-cdd7-4abb-92f0-1e1ca2fb371e\n\nCo-authored-by: DanielNoord \u003c13665637+DanielNoord@users.noreply.github.com\u003e\n"
    },
    {
      "commit": "f7d0e75381ef3f84e194d518eb074b35033c521c",
      "tree": "c9ac729f4df56cf735fe43c7b96491b3b599107a",
      "parents": [
        "ffe68a4d75c2b2a957afed2d02ae6310092f25a7",
        "85d36503bf61d1b4784f4dcdb867cb5971b0d8e2"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Mon May 11 19:50:00 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 19:50:00 2026 +0000"
      },
      "message": "Merge pull request #2540 from PyCQA/dependabot/uv/urllib3-2.7.0\n\nBump urllib3 from 2.6.3 to 2.7.0\n"
    },
    {
      "commit": "85d36503bf61d1b4784f4dcdb867cb5971b0d8e2",
      "tree": "c9ac729f4df56cf735fe43c7b96491b3b599107a",
      "parents": [
        "ffe68a4d75c2b2a957afed2d02ae6310092f25a7"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon May 11 19:42:33 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 19:42:33 2026 +0000"
      },
      "message": "Bump urllib3 from 2.6.3 to 2.7.0\n\nBumps [urllib3](https://github.com/urllib3/urllib3) from 2.6.3 to 2.7.0.\n- [Release notes](https://github.com/urllib3/urllib3/releases)\n- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)\n- [Commits](https://github.com/urllib3/urllib3/compare/2.6.3...2.7.0)\n\n---\nupdated-dependencies:\n- dependency-name: urllib3\n  dependency-version: 2.7.0\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "ffe68a4d75c2b2a957afed2d02ae6310092f25a7",
      "tree": "360bd323237fa3673fd222e3f495999417f5a78e",
      "parents": [
        "0bdc76ba48bcc92a30b981d937a9a0799aea7d3f",
        "d0401fe957a32cb14f80131f953dc892d5807e30"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Sat May 09 19:08:49 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 09 19:08:49 2026 +0000"
      },
      "message": "Merge pull request #2539 from PyCQA/dependabot/uv/gitpython-3.1.50\n\nBump gitpython from 3.1.49 to 3.1.50\n"
    },
    {
      "commit": "d0401fe957a32cb14f80131f953dc892d5807e30",
      "tree": "360bd323237fa3673fd222e3f495999417f5a78e",
      "parents": [
        "0bdc76ba48bcc92a30b981d937a9a0799aea7d3f"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sat May 09 08:23:40 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 09 08:23:40 2026 +0000"
      },
      "message": "Bump gitpython from 3.1.49 to 3.1.50\n\nBumps [gitpython](https://github.com/gitpython-developers/GitPython) from 3.1.49 to 3.1.50.\n- [Release notes](https://github.com/gitpython-developers/GitPython/releases)\n- [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES)\n- [Commits](https://github.com/gitpython-developers/GitPython/compare/3.1.49...3.1.50)\n\n---\nupdated-dependencies:\n- dependency-name: gitpython\n  dependency-version: 3.1.50\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "0bdc76ba48bcc92a30b981d937a9a0799aea7d3f",
      "tree": "fc0551c5e001b105f68085218b2ff0bd89840cf7",
      "parents": [
        "1850872a8982de4ac7ac1c6a0a9c1c95e33a9cd6",
        "8425f2c4b18979837513757ccb9413e0e106901f"
      ],
      "author": {
        "name": "staticdev",
        "email": "staticdev-support@proton.me",
        "time": "Sat May 09 04:17:45 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 09 04:17:45 2026 +0000"
      },
      "message": "Merge pull request #2537 from PyCQA/dependabot/uv/gitpython-3.1.49\n\nBump gitpython from 3.1.47 to 3.1.49\n"
    },
    {
      "commit": "8425f2c4b18979837513757ccb9413e0e106901f",
      "tree": "fc0551c5e001b105f68085218b2ff0bd89840cf7",
      "parents": [
        "1850872a8982de4ac7ac1c6a0a9c1c95e33a9cd6"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri May 08 15:25:39 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 15:25:39 2026 +0000"
      },
      "message": "Bump gitpython from 3.1.47 to 3.1.49\n\nBumps [gitpython](https://github.com/gitpython-developers/GitPython) from 3.1.47 to 3.1.49.\n- [Release notes](https://github.com/gitpython-developers/GitPython/releases)\n- [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES)\n- [Commits](https://github.com/gitpython-developers/GitPython/compare/3.1.47...3.1.49)\n\n---\nupdated-dependencies:\n- dependency-name: gitpython\n  dependency-version: 3.1.49\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "1850872a8982de4ac7ac1c6a0a9c1c95e33a9cd6",
      "tree": "ed7980298c2ce25d54d2e406fbdaef3d454a3078",
      "parents": [
        "5e24c2414fa4aba0a039ce0e7940d07c26246ea3",
        "b0fcc67a2e013fe3e668287b74555002f34c6cf2"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Fri May 08 13:58:28 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 13:58:28 2026 +0000"
      },
      "message": "Merge pull request #2530 from rohitshinde08/issue/2526\n\nFix broken relative links in README and CHANGELOG for both GitHub and Sphinx\n"
    },
    {
      "commit": "b0fcc67a2e013fe3e668287b74555002f34c6cf2",
      "tree": "ed7980298c2ce25d54d2e406fbdaef3d454a3078",
      "parents": [
        "da791b9ee6b83646421d4b516553b84a9bc461ee"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Fri May 08 15:11:36 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 15:11:36 2026 +0200"
      },
      "message": "Fix styling"
    },
    {
      "commit": "da791b9ee6b83646421d4b516553b84a9bc461ee",
      "tree": "d46c7d1bac5e7b5cc2132c18398b59ceccde9fc1",
      "parents": [
        "d2102a1ea013955d231beb1a2b8d5b7a63d879a4"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Fri May 08 15:07:43 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 15:07:43 2026 +0200"
      },
      "message": "Use correct var"
    },
    {
      "commit": "d2102a1ea013955d231beb1a2b8d5b7a63d879a4",
      "tree": "dd0898b4d597fb10320dedc93bc0a855a0e03336",
      "parents": [
        "0c051151914f41015ef25eff930695de4115d7ac"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Fri May 08 15:00:29 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 15:00:29 2026 +0200"
      },
      "message": "Simplify a bit"
    },
    {
      "commit": "0c051151914f41015ef25eff930695de4115d7ac",
      "tree": "b1e0df6c876bc33df748013d15ca14a0a2fff38e",
      "parents": [
        "1f76d305d275155a718a66bd56facdac7f90199f"
      ],
      "author": {
        "name": "Rohit Shinde",
        "email": "rohit.shinde9575@gmail.com",
        "time": "Fri May 08 17:10:32 2026 +0530"
      },
      "committer": {
        "name": "Rohit Shinde",
        "email": "rohit.shinde9575@gmail.com",
        "time": "Fri May 08 17:10:32 2026 +0530"
      },
      "message": "fix: strip .md extension in build hook for Sphinx MyST compatibility\n"
    },
    {
      "commit": "1f76d305d275155a718a66bd56facdac7f90199f",
      "tree": "8abef2000916a9d19ac8ccfb8e9c7a25a495576d",
      "parents": [
        "9d25faeb58c9d2734d0368ba68f4e178053de0a1"
      ],
      "author": {
        "name": "Rohit Shinde",
        "email": "rohit.shinde9575@gmail.com",
        "time": "Fri May 08 17:06:42 2026 +0530"
      },
      "committer": {
        "name": "Rohit Shinde",
        "email": "rohit.shinde9575@gmail.com",
        "time": "Fri May 08 17:06:42 2026 +0530"
      },
      "message": "fix: adjust relative links for generated include files\n"
    },
    {
      "commit": "9d25faeb58c9d2734d0368ba68f4e178053de0a1",
      "tree": "06452926a89afc303a24a7fc9d09fd6a9c3c1f97",
      "parents": [
        "997b86d0c818780663147f5869ff1c381c70766d"
      ],
      "author": {
        "name": "Rohit Shinde",
        "email": "rohit.shinde9575@gmail.com",
        "time": "Fri May 08 17:00:07 2026 +0530"
      },
      "committer": {
        "name": "Rohit Shinde",
        "email": "rohit.shinde9575@gmail.com",
        "time": "Fri May 08 17:00:07 2026 +0530"
      },
      "message": "fix: use absolute paths for reliable RTD build and clean up imports\n"
    },
    {
      "commit": "997b86d0c818780663147f5869ff1c381c70766d",
      "tree": "adcc6a756b4c1731f6bea5a5919f7f30514a1385",
      "parents": [
        "f3ddf83381876a2bf01e2d8da78f8266e5d3a8e9",
        "5e24c2414fa4aba0a039ce0e7940d07c26246ea3"
      ],
      "author": {
        "name": "Rohit Shinde",
        "email": "143794245+rohitshinde08@users.noreply.github.com",
        "time": "Fri May 08 16:42:41 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 16:42:41 2026 +0530"
      },
      "message": "Merge branch \u0027main\u0027 into issue/2526"
    },
    {
      "commit": "f3ddf83381876a2bf01e2d8da78f8266e5d3a8e9",
      "tree": "42790a1154bc7db05483de5ae21f2544182f69fc",
      "parents": [
        "4f9bde6f4b49ed3ee580c552a24e277634c8c03c"
      ],
      "author": {
        "name": "Rohit Shinde",
        "email": "rohit.shinde9575@gmail.com",
        "time": "Fri May 08 16:41:48 2026 +0530"
      },
      "committer": {
        "name": "Rohit Shinde",
        "email": "rohit.shinde9575@gmail.com",
        "time": "Fri May 08 16:41:48 2026 +0530"
      },
      "message": "fix: rename _build to generated to avoid RTD naming conflict\n"
    },
    {
      "commit": "4f9bde6f4b49ed3ee580c552a24e277634c8c03c",
      "tree": "9a02f725f8f20c6a6f1fb923494ea3767665c23a",
      "parents": [
        "8abc7aa95fe146684a84ac98690ea0d37e671b5a"
      ],
      "author": {
        "name": "Rohit Shinde",
        "email": "rohit.shinde9575@gmail.com",
        "time": "Fri May 08 16:31:58 2026 +0530"
      },
      "committer": {
        "name": "Rohit Shinde",
        "email": "rohit.shinde9575@gmail.com",
        "time": "Fri May 08 16:31:58 2026 +0530"
      },
      "message": "Address maintainer feedback: add types and move generated files to _build\n"
    },
    {
      "commit": "5e24c2414fa4aba0a039ce0e7940d07c26246ea3",
      "tree": "592e42a01ea386c0f2e059905e9d110a4b64ec95",
      "parents": [
        "ab9cd3601d92d59416a57f457dcabb27ff622dd3",
        "a53fecb7670e111bd88262e7df92101d8a00b8d5"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Thu May 07 20:41:14 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 20:41:14 2026 +0000"
      },
      "message": "Merge pull request #2531 from sparrowt/remove-defunct-option\n\nRemove references to defunct `git_ignore` config\n"
    },
    {
      "commit": "a53fecb7670e111bd88262e7df92101d8a00b8d5",
      "tree": "592e42a01ea386c0f2e059905e9d110a4b64ec95",
      "parents": [
        "ab9cd3601d92d59416a57f457dcabb27ff622dd3"
      ],
      "author": {
        "name": "T Sparrow",
        "email": "793763+sparrowt@users.noreply.github.com",
        "time": "Thu May 07 15:17:32 2026 +0100"
      },
      "committer": {
        "name": "T Sparrow",
        "email": "793763+sparrowt@users.noreply.github.com",
        "time": "Thu May 07 15:17:32 2026 +0100"
      },
      "message": "Remove references to defunct `git_ignore` config\n\nIt raises `UnsupportedSettings` because e16806990ed862ac2bdc3125060d1a35741c1e83\nremoved it without removing the documentation that refers to it.\n\nThe remaining config option that still works is `skip_gitignore`.\n"
    },
    {
      "commit": "8abc7aa95fe146684a84ac98690ea0d37e671b5a",
      "tree": "62d138ed4f870da067fa1e9957ca7c5d902dc18d",
      "parents": [
        "9d9b121058f0d4eff5087d7643b952f76ea02ae0"
      ],
      "author": {
        "name": "Rohit Shinde",
        "email": "rohit.shinde9575@gmail.com",
        "time": "Thu May 07 18:35:34 2026 +0530"
      },
      "committer": {
        "name": "Rohit Shinde",
        "email": "rohit.shinde9575@gmail.com",
        "time": "Thu May 07 18:35:34 2026 +0530"
      },
      "message": "Refactor docs build hooks for better linter compliance (DeepSource)\n"
    },
    {
      "commit": "9d9b121058f0d4eff5087d7643b952f76ea02ae0",
      "tree": "61990e1dae107058d432e7b29d6144b2f1d438ba",
      "parents": [
        "831d4d0398944e79d7d702bc29ae8a11b1b9506a"
      ],
      "author": {
        "name": "Rohit Shinde",
        "email": "rohit.shinde9575@gmail.com",
        "time": "Thu May 07 18:27:17 2026 +0530"
      },
      "committer": {
        "name": "Rohit Shinde",
        "email": "rohit.shinde9575@gmail.com",
        "time": "Thu May 07 18:27:17 2026 +0530"
      },
      "message": "Fix broken relative links in README and CHANGELOG for both GitHub and Sphinx\n"
    },
    {
      "commit": "831d4d0398944e79d7d702bc29ae8a11b1b9506a",
      "tree": "1775154f796411d49990352b6b9019cb2266efa3",
      "parents": [
        "ab9cd3601d92d59416a57f457dcabb27ff622dd3"
      ],
      "author": {
        "name": "Rohit Shinde",
        "email": "rohit.shinde9575@gmail.com",
        "time": "Thu May 07 18:19:07 2026 +0530"
      },
      "committer": {
        "name": "Rohit Shinde",
        "email": "rohit.shinde9575@gmail.com",
        "time": "Thu May 07 18:19:07 2026 +0530"
      },
      "message": "Fix broken relative links in README and CHANGELOG for both GitHub and Sphinx\n"
    },
    {
      "commit": "ab9cd3601d92d59416a57f457dcabb27ff622dd3",
      "tree": "02fa8501a8d756c30e6193385918d0e7bc30ddd0",
      "parents": [
        "048e37000e40a27c3eec5603cf51d4c3c521193e",
        "d97047ddcdbc59de195685da81703bb72c9e8e99"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Thu Apr 30 14:47:26 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 30 14:47:26 2026 +0000"
      },
      "message": "Merge pull request #2525 from duriantaco/remove-dead-code\n\nRemove unused _ENCODING_PATTERN regex and re import\n"
    },
    {
      "commit": "d97047ddcdbc59de195685da81703bb72c9e8e99",
      "tree": "02fa8501a8d756c30e6193385918d0e7bc30ddd0",
      "parents": [
        "048e37000e40a27c3eec5603cf51d4c3c521193e"
      ],
      "author": {
        "name": "duriantaco",
        "email": "aaronoh2015@gmail.com",
        "time": "Thu Apr 30 21:34:49 2026 +0800"
      },
      "committer": {
        "name": "duriantaco",
        "email": "aaronoh2015@gmail.com",
        "time": "Thu Apr 30 21:34:49 2026 +0800"
      },
      "message": "Remove unused _ENCODING_PATTERN regex and re import\n"
    },
    {
      "commit": "048e37000e40a27c3eec5603cf51d4c3c521193e",
      "tree": "52ebca5e00974c27f70f593d553fd081369e8fa4",
      "parents": [
        "dac090ce4d9ee313d086e2e89ab1acb8c2664fa1",
        "6c7bdadd08a269e5df423b27497b30e98ae72aee"
      ],
      "author": {
        "name": "staticdev",
        "email": "staticdev-support@proton.me",
        "time": "Mon Apr 27 08:55:46 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 08:55:46 2026 +0000"
      },
      "message": "Merge pull request #2523 from PyCQA/dependabot/uv/gitpython-3.1.47\n\nBump gitpython from 3.1.44 to 3.1.47\n"
    },
    {
      "commit": "6c7bdadd08a269e5df423b27497b30e98ae72aee",
      "tree": "52ebca5e00974c27f70f593d553fd081369e8fa4",
      "parents": [
        "dac090ce4d9ee313d086e2e89ab1acb8c2664fa1"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun Apr 26 01:12:48 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 26 01:12:48 2026 +0000"
      },
      "message": "Bump gitpython from 3.1.44 to 3.1.47\n\nBumps [gitpython](https://github.com/gitpython-developers/GitPython) from 3.1.44 to 3.1.47.\n- [Release notes](https://github.com/gitpython-developers/GitPython/releases)\n- [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES)\n- [Commits](https://github.com/gitpython-developers/GitPython/compare/3.1.44...3.1.47)\n\n---\nupdated-dependencies:\n- dependency-name: gitpython\n  dependency-version: 3.1.47\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "dac090ce4d9ee313d086e2e89ab1acb8c2664fa1",
      "tree": "52de46e86712333c48a8721ec99e944934651df2",
      "parents": [
        "d422b4f92901584f4052d0f00c72c1421e1de8cc",
        "8fc956a72e5a1cf5d0ede9849d73a6ca0c263ab7"
      ],
      "author": {
        "name": "staticdev",
        "email": "staticdev-support@proton.me",
        "time": "Fri Apr 24 07:41:54 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 24 07:41:54 2026 +0000"
      },
      "message": "Merge pull request #2521 from PyCQA/ci/fix-trusted-publishing\n\nFix #2500: trusted publishing\n"
    },
    {
      "commit": "8fc956a72e5a1cf5d0ede9849d73a6ca0c263ab7",
      "tree": "52de46e86712333c48a8721ec99e944934651df2",
      "parents": [
        "d422b4f92901584f4052d0f00c72c1421e1de8cc"
      ],
      "author": {
        "name": "staticdev",
        "email": "staticdev-support@proton.me",
        "time": "Fri Apr 24 09:40:12 2026 +0200"
      },
      "committer": {
        "name": "staticdev",
        "email": "staticdev-support@proton.me",
        "time": "Fri Apr 24 09:40:12 2026 +0200"
      },
      "message": "Fix trusted publishing\n"
    },
    {
      "commit": "d422b4f92901584f4052d0f00c72c1421e1de8cc",
      "tree": "53f51af252bff41f1dc52ad6238379932d375d8f",
      "parents": [
        "1b4dc69b2c536151b2eaabf7ad5563b4fc834d64",
        "0aba11b8ee3f36e1d1f6dc1c320dd09b8706c849"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Thu Apr 23 19:56:27 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 23 19:56:27 2026 +0000"
      },
      "message": "Merge pull request #2520 from DanielNoord/fix-release\n\nRun Release on release, not on tag\n"
    },
    {
      "commit": "0aba11b8ee3f36e1d1f6dc1c320dd09b8706c849",
      "tree": "53f51af252bff41f1dc52ad6238379932d375d8f",
      "parents": [
        "1b4dc69b2c536151b2eaabf7ad5563b4fc834d64"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Thu Apr 23 21:53:48 2026 +0200"
      },
      "committer": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Thu Apr 23 21:53:51 2026 +0200"
      },
      "message": "Run Release on release, not on tag\n"
    },
    {
      "commit": "1b4dc69b2c536151b2eaabf7ad5563b4fc834d64",
      "tree": "06e662aad357b6a7cf90dba4237baebe7311795b",
      "parents": [
        "fbcd23de86b04ec33fa2dd3cbf272bc48b299a54",
        "d5c73bb9e52fc2355429b828da52614c18c630b3"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Thu Apr 23 19:43:43 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 23 19:43:43 2026 +0000"
      },
      "message": "Merge pull request #2519 from DanielNoord/fix-release\n\nEnsure release workflow runs on alpha and beta tags\n"
    },
    {
      "commit": "d5c73bb9e52fc2355429b828da52614c18c630b3",
      "tree": "06e662aad357b6a7cf90dba4237baebe7311795b",
      "parents": [
        "fbcd23de86b04ec33fa2dd3cbf272bc48b299a54"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Thu Apr 23 21:41:12 2026 +0200"
      },
      "committer": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Thu Apr 23 21:41:12 2026 +0200"
      },
      "message": "Ensure release workflow runs on alpha and beta tags\n"
    },
    {
      "commit": "fbcd23de86b04ec33fa2dd3cbf272bc48b299a54",
      "tree": "bc416348aa4224d93b6aefa77d3877fbb05812a8",
      "parents": [
        "851471ba4cac9d1978d7f807ee65c770d6206c0b",
        "07d327519ec3d3fa54659ba52c3c0eda072c0d05"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Thu Apr 23 19:23:05 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 23 19:23:05 2026 +0000"
      },
      "message": "Merge pull request #2503 from PyCQA/copilot/2462-sort-import-statements\n\nSort lazy import statements\n"
    },
    {
      "commit": "851471ba4cac9d1978d7f807ee65c770d6206c0b",
      "tree": "d2ffdcfd1a3d2468a4ec77ca8a7969d4a31dd84f",
      "parents": [
        "22adde274188f5818aff3a7e4cad31cf4d6000e4",
        "2fc4565fe3f7b2d856ddcff2494638968bff9870"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Fri Apr 17 07:33:05 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 17 07:33:05 2026 +0000"
      },
      "message": "Merge pull request #2517 from DanielNoord/remove-script\n\nRemove unused and broken dependencies\n"
    },
    {
      "commit": "2fc4565fe3f7b2d856ddcff2494638968bff9870",
      "tree": "d2ffdcfd1a3d2468a4ec77ca8a7969d4a31dd84f",
      "parents": [
        "22adde274188f5818aff3a7e4cad31cf4d6000e4"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Wed Apr 15 23:46:43 2026 +0200"
      },
      "committer": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Wed Apr 15 23:46:43 2026 +0200"
      },
      "message": "Remove unused and broken dependencies\n"
    },
    {
      "commit": "07d327519ec3d3fa54659ba52c3c0eda072c0d05",
      "tree": "2db5ab7c7c7aa31c129830b015243847128ecba7",
      "parents": [
        "22adde274188f5818aff3a7e4cad31cf4d6000e4"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Wed Apr 15 23:29:03 2026 +0200"
      },
      "committer": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Wed Apr 15 23:29:03 2026 +0200"
      },
      "message": "Implement support for sorting lazy imports\n\nCo-authored-by: copilot-swe-agent[bot] \u003c198982749+Copilot@users.noreply.github.com\u003e\n"
    },
    {
      "commit": "22adde274188f5818aff3a7e4cad31cf4d6000e4",
      "tree": "fe8c5d29d0bcf8806d11c9d5aef90766ca094602",
      "parents": [
        "807e85188ea46b9f5fd21bb887fb850151e2f134",
        "b8002af280b7bb2426f393d1828c32f36868e99d"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Wed Apr 15 20:16:54 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 20:16:54 2026 +0000"
      },
      "message": "Merge pull request #2516 from DanielNoord/type-imports\n\nRemove `Any` from `parse.py`\n"
    },
    {
      "commit": "b8002af280b7bb2426f393d1828c32f36868e99d",
      "tree": "fe8c5d29d0bcf8806d11c9d5aef90766ca094602",
      "parents": [
        "807e85188ea46b9f5fd21bb887fb850151e2f134"
      ],
      "author": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Wed Apr 15 22:13:45 2026 +0200"
      },
      "committer": {
        "name": "Daniël van Noord",
        "email": "13665637+DanielNoord@users.noreply.github.com",
        "time": "Wed Apr 15 22:13:45 2026 +0200"
      },
      "message": "Remove `Any` from `parse.py`\n"
    },
    {
      "commit": "807e85188ea46b9f5fd21bb887fb850151e2f134",
      "tree": "888f3854e5ecdec99ed5c8ae279812c71dd24c8f",
      "parents": [
        "3e8e9fb7b527818457d61af58e50e20a87671fec",
        "934d85a07a70e3bb1f8060551cc00a1acee1d47f"
      ],
      "author": {
        "name": "staticdev",
        "email": "staticdev-support@proton.me",
        "time": "Tue Apr 14 19:44:33 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 14 19:44:33 2026 +0000"
      },
      "message": "Merge pull request #2515 from PyCQA/dependabot/uv/pytest-9.0.3\n\nBump pytest from 8.4.2 to 9.0.3\n"
    },
    {
      "commit": "934d85a07a70e3bb1f8060551cc00a1acee1d47f",
      "tree": "888f3854e5ecdec99ed5c8ae279812c71dd24c8f",
      "parents": [
        "3e8e9fb7b527818457d61af58e50e20a87671fec"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Apr 14 02:19:54 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 14 02:19:54 2026 +0000"
      },
      "message": "Bump pytest from 8.4.2 to 9.0.3\n\nBumps [pytest](https://github.com/pytest-dev/pytest) from 8.4.2 to 9.0.3.\n- [Release notes](https://github.com/pytest-dev/pytest/releases)\n- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)\n- [Commits](https://github.com/pytest-dev/pytest/compare/8.4.2...9.0.3)\n\n---\nupdated-dependencies:\n- dependency-name: pytest\n  dependency-version: 9.0.3\n  dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "3e8e9fb7b527818457d61af58e50e20a87671fec",
      "tree": "f7918d6da46975918ed06c909b5247cefd508eab",
      "parents": [
        "e7590fdb32b0ec36303f846f1faa761c3e9e17d0",
        "8b28c7c4bdbd973bdb42f5d6959bddd77e17c21d"
      ],
      "author": {
        "name": "staticdev",
        "email": "staticdev-support@proton.me",
        "time": "Sat Apr 11 08:58:12 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 11 08:58:12 2026 +0000"
      },
      "message": "Merge pull request #2514 from PyCQA/dependabot/uv/uv-0.11.6\n\nBump uv from 0.9.6 to 0.11.6\n"
    },
    {
      "commit": "8b28c7c4bdbd973bdb42f5d6959bddd77e17c21d",
      "tree": "f7918d6da46975918ed06c909b5247cefd508eab",
      "parents": [
        "e7590fdb32b0ec36303f846f1faa761c3e9e17d0"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Apr 10 19:51:14 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 10 19:51:14 2026 +0000"
      },
      "message": "Bump uv from 0.9.6 to 0.11.6\n\nBumps [uv](https://github.com/astral-sh/uv) from 0.9.6 to 0.11.6.\n- [Release notes](https://github.com/astral-sh/uv/releases)\n- [Changelog](https://github.com/astral-sh/uv/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/astral-sh/uv/compare/0.9.6...0.11.6)\n\n---\nupdated-dependencies:\n- dependency-name: uv\n  dependency-version: 0.11.6\n  dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "e7590fdb32b0ec36303f846f1faa761c3e9e17d0",
      "tree": "cddbc33db976c38c1441f74fdc4ece872ca6fce8",
      "parents": [
        "4664d5ce1bf74796a4523a9e2c61cb33e39e60d1",
        "5a736ae6e3200d08445db16049ccb2f736f36309"
      ],
      "author": {
        "name": "staticdev",
        "email": "staticdev-support@proton.me",
        "time": "Thu Apr 09 15:00:29 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 09 15:00:29 2026 +0000"
      },
      "message": "Merge pull request #2513 from PyCQA/dependabot/uv/cryptography-46.0.7\n\nBump cryptography from 46.0.6 to 46.0.7\n"
    }
  ],
  "next": "5a736ae6e3200d08445db16049ccb2f736f36309"
}
