)]}'
{
  "log": [
    {
      "commit": "2ef85af47fcae15625ca7ad6f77452d5c78fadb2",
      "tree": "3eb5d8f59b56d4b2e3c509ae71a13f6ef86e73a4",
      "parents": [
        "e8e8615269d665cc5e780803e54846bb0beffb6d"
      ],
      "author": {
        "name": "Vladimir Roshchin",
        "email": "51440383+even-even@users.noreply.github.com",
        "time": "Tue Sep 01 16:17:50 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 16:17:50 2026"
      },
      "message": "fix(test): EncodingWarning: \u0027encoding\u0027 argument not specified (#3228)\n\nCo-authored-by: vyuroshchin \u003c\u003e"
    },
    {
      "commit": "e8e8615269d665cc5e780803e54846bb0beffb6d",
      "tree": "709f197e6635d0f08482f81bb3d822d526252066",
      "parents": [
        "f4e186e4a5349690eb00a941022559973ed86958"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Tue Sep 01 13:34:52 2026"
      },
      "committer": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Tue Sep 01 13:34:52 2026"
      },
      "message": "release 21.7.8"
    },
    {
      "commit": "f4e186e4a5349690eb00a941022559973ed86958",
      "tree": "7157e00c03e419a49dc4cd9240f72ef53776ae80",
      "parents": [
        "adfa9e463315c4f8f67845eb3de2d4857ddac78a"
      ],
      "author": {
        "name": "darrenhuai",
        "email": "60621295+darrenhuai@users.noreply.github.com",
        "time": "Tue Sep 01 05:14:38 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 05:14:38 2026"
      },
      "message": "🐛 fix(create): report a missing source that both modes need (#3227)"
    },
    {
      "commit": "adfa9e463315c4f8f67845eb3de2d4857ddac78a",
      "tree": "f5f2ba18d979ba8688ef84250c28464eb4525433",
      "parents": [
        "b65d93df5e727effffdd61a4e8be9f1a7f64b369"
      ],
      "author": {
        "name": "pre-commit-ci[bot]",
        "email": "66853113+pre-commit-ci[bot]@users.noreply.github.com",
        "time": "Tue Sep 01 04:37:40 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 04:37:40 2026"
      },
      "message": "[pre-commit.ci] pre-commit autoupdate (#3226)"
    },
    {
      "commit": "b65d93df5e727effffdd61a4e8be9f1a7f64b369",
      "tree": "78bd2e3f3b1ec800164e0beb4546b854cef13677",
      "parents": [
        "72776f2e7922aa0c442324b8b89b44d82d8e4445"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Fri Aug 28 18:58:23 2026"
      },
      "committer": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Fri Aug 28 18:58:23 2026"
      },
      "message": "release 21.7.7"
    },
    {
      "commit": "72776f2e7922aa0c442324b8b89b44d82d8e4445",
      "tree": "05c8861741bd5bc1233f1c3f12ad1e2b168dc202",
      "parents": [
        "8fab8d6ac125afcd0c41b806064daf0521faaecd"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Fri Aug 28 18:57:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 28 18:57:08 2026"
      },
      "message": "🎨 refactor(create): read the system exe without narrowing (#3224)\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "8fab8d6ac125afcd0c41b806064daf0521faaecd",
      "tree": "17e58bc725ee146a474b38bd8e727a38cc506626",
      "parents": [
        "267f4cda46d450138750448bef10cb7758834772"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Fri Aug 28 18:56:52 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 28 18:56:52 2026"
      },
      "message": "📄 docs: document the interpreter names in an environment (#3225)\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "267f4cda46d450138750448bef10cb7758834772",
      "tree": "fb63b396fc784ddb16c4fa690f995cd1eca97da9",
      "parents": [
        "28c4cd14d60887567c72df6eb2254e0deba11ea0"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Fri Aug 28 16:16:29 2026"
      },
      "committer": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Fri Aug 28 16:16:29 2026"
      },
      "message": "release 21.7.6"
    },
    {
      "commit": "28c4cd14d60887567c72df6eb2254e0deba11ea0",
      "tree": "95e0d49de4f5afdcfbdad7c135e1a2d9f34678ef",
      "parents": [
        "2a645aece0241e6dc02bf3d67acd88aa0770b601"
      ],
      "author": {
        "name": "darrenhuai",
        "email": "60621295+darrenhuai@users.noreply.github.com",
        "time": "Fri Aug 28 16:15:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 28 16:15:23 2026"
      },
      "message": "🐛 fix(create): name Windows venv exes after the interpreter (#3223)\n\nCo-authored-by: Bernat Gabor \u003cgaborjbernat@gmail.com\u003e"
    },
    {
      "commit": "2a645aece0241e6dc02bf3d67acd88aa0770b601",
      "tree": "4f91217d5b0b3077bf792dcff42fc3d6e016deef",
      "parents": [
        "a48bf4bdce585ab2df7e3eef056b84591429976e"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Tue Aug 25 05:37:53 2026"
      },
      "committer": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Tue Aug 25 05:37:53 2026"
      },
      "message": "release 21.7.5"
    },
    {
      "commit": "a48bf4bdce585ab2df7e3eef056b84591429976e",
      "tree": "7b791e821eb56279781c8d2c5bd970b59d2dccbc",
      "parents": [
        "31b50810666aac5075a68472d7f9376148dac8d9"
      ],
      "author": {
        "name": "darrenhuai",
        "email": "60621295+darrenhuai@users.noreply.github.com",
        "time": "Tue Aug 25 04:29:58 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 04:29:58 2026"
      },
      "message": "🐛 fix(util): make safe_delete\u0027s error handler actually run (#3222)\n\n### Thanks for contributing, make sure you address all the checklists\n(for details on how see [development\ndocumentation](https://virtualenv.pypa.io/en/latest/development.html#development))\n\n- [x] ran the linter to address style issues (`tox -e fix`)\n- [x] wrote descriptive pull request text\n- [x] ensured there are test(s) validating the fix\n- [x] added news fragment in `docs/changelog` folder\n- [ ] updated/extended the documentation\n\n---\n\n`safe_delete` hands `shutil.rmtree` a chmod-and-retry handler and sets\n`ignore_errors\u003dTrue` at the same time:\n\n```python\ndef onerror(func, path, exc_info):\n    if not os.access(path, os.W_OK):\n        os.chmod(path, S_IWUSR)\n        func(path)\n    else:\n        raise\n\nshutil.rmtree(str(dest), ignore_errors\u003dTrue, onexc\u003donerror)\n```\n\n`rmtree` overwrites whatever handler it is given when `ignore_errors` is\nset — `onexc \u003d _onexc \u003d lambda *args: None` — so this handler has never\nrun. Every deletion failure was swallowed and `safe_delete` returned as\nif it had worked.\n\nThat matters on Windows, where the read-only attribute blocks\n`os.unlink`, and virtualenv marks every file in a wheel image read-only\nitself via `set_tree`. So:\n\n- `--reset-app-data` kept the image trees it reported removing\n- recreating an env with `--clear` could leave read-only files from the\nold one behind\n- replacing a seed package could leave a mix of old and new files\n\nI found this by asking what the `# ty: ignore[call-non-callable]` on the\n`func(path)` line was hiding. The suppression was there because `func`\nis annotated `object`, and `func` is annotated `object` because nothing\never called it. Before the fix, on Windows, `rmtree` left the tree in\nplace and the handler was invoked zero times.\n\nDropping `ignore_errors` lets the handler do what it was written to do:\nclear the read-only bit, retry, and surface anything it genuinely cannot\ndelete instead of pretending the delete succeeded. Typing `func`\nproperly removes the `ty` suppression — `ty check src/virtualenv` still\npasses without it.\n\nOne caller needed a guard. `AppDataDiskFolder.reset` is the only one\nthat calls `safe_delete` without an `exists()` check first, so a missing\ndirectory used to be absorbed by `ignore_errors`. `onerror` now returns\nearly on `FileNotFoundError` to keep that a no-op.\n\nThree tests: a read-only tree is actually removed, a missing path stays\na no-op, and an undeletable entry now raises instead of being swallowed.\nThe first and third fail on `main`. The third is Windows-only, since it\nneeds an open file handle to block deletion; the first passes on POSIX\neither way, because there deleting a file depends on the parent\ndirectory\u0027s permissions rather than the file\u0027s own.\n\n`tests/unit` is green locally on Windows / 3.13 (296 passed, 31\nskipped), along with ruff and `ty`.\n\n---------\n\nCo-authored-by: Bernat Gabor \u003cgaborjbernat@gmail.com\u003e"
    },
    {
      "commit": "31b50810666aac5075a68472d7f9376148dac8d9",
      "tree": "f3cfc255152351271a99f5d6ab5dd1c12452d0a8",
      "parents": [
        "5640eef0a51cbea4518ab7d8a302069866a743c9"
      ],
      "author": {
        "name": "darrenhuai",
        "email": "60621295+darrenhuai@users.noreply.github.com",
        "time": "Tue Aug 25 03:57:22 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 03:57:22 2026"
      },
      "message": "🐛 fix(create): check every execute bit in ExePathRef.can_run (#3217)\n\nCo-authored-by: Bernat Gabor \u003cgaborjbernat@gmail.com\u003e"
    },
    {
      "commit": "5640eef0a51cbea4518ab7d8a302069866a743c9",
      "tree": "b23308d666a70c248970c634cc9c6569be522a2a",
      "parents": [
        "1ebcab6131bf2f777805e3682b755bf1c81b4f60"
      ],
      "author": {
        "name": "pre-commit-ci[bot]",
        "email": "66853113+pre-commit-ci[bot]@users.noreply.github.com",
        "time": "Tue Aug 25 03:57:10 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 03:57:10 2026"
      },
      "message": "[pre-commit.ci] pre-commit autoupdate (#3221)"
    },
    {
      "commit": "1ebcab6131bf2f777805e3682b755bf1c81b4f60",
      "tree": "6ec1570c420eeb7687af344ebb3160246a352da2",
      "parents": [
        "eb241a03b1b94d4263512c8346fdbaa14f2ba7c3"
      ],
      "author": {
        "name": "Vladimir",
        "email": "51440383+even-even@users.noreply.github.com",
        "time": "Sun Aug 23 19:19:34 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 23 19:19:34 2026"
      },
      "message": "docs: actualize python support version (#3220)\n\nHello\nIn PR actualize max support pythonVersion 3.14 -\u003e 3.15 (like\nhttps://github.com/pypa/virtualenv/blob/main/pyproject.toml#L37)\n\nCo-authored-by: vyuroshchin \u003c\u003e"
    },
    {
      "commit": "eb241a03b1b94d4263512c8346fdbaa14f2ba7c3",
      "tree": "4d189bb68ea5b07442f53fe73ad3fa60e07a3adb",
      "parents": [
        "9534eda10bd9a74317ae50e8fdb1327ffc87a8a2"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Sun Aug 23 18:35:14 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 23 18:35:14 2026"
      },
      "message": "🔧 chore: batch dependency updates weekly on Tuesday (#3219)\n\nDependabot opened a separate pull request for every bump here, which\nturned routine maintenance into a stream of near-identical reviews. 🔁\n\n`.github/dependabot.yaml` now runs weekly on Tuesday with a catch-all\n`groups` entry per ecosystem, so one pull request carries the week\u0027s\nbumps. The other projects I maintain are moving to the same schedule."
    },
    {
      "commit": "9534eda10bd9a74317ae50e8fdb1327ffc87a8a2",
      "tree": "cc8c5b6c8307f6fe0653d03fed12fae68f603be8",
      "parents": [
        "c8c4285104995d63859991f115534828add66457"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Aug 21 01:08:28 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 21 01:08:28 2026"
      },
      "message": "chore(deps): bump astral-sh/setup-uv from 10.0.0 to 10.0.1 (#3218)\n\nBumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from\n10.0.0 to 10.0.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/releases\"\u003eastral-sh/setup-uv\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.0.1 🌈 Tolerate transient manifest timeouts\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eThank you \u003ca\nhref\u003d\"https://github.com/arguile\"\u003e\u003ccode\u003e@​arguile\u003c/code\u003e\u003c/a\u003e- for making\nthis action more resilient.\u003c/p\u003e\n\u003ch2\u003e🐛 Bug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTolerate transient manifest timeouts \u003ca\nhref\u003d\"https://github.com/arguile\"\u003e\u003ccode\u003e@​arguile\u003c/code\u003e\u003c/a\u003e- (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: update known checksums for 0.12.4 @\u003ca\nhref\u003d\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\n(\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/1017\"\u003e#1017\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📚 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update version references to v10.0.0 @\u003ca\nhref\u003d\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\n(\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/1014\"\u003e#1014\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/20cfd1bf945f4377ade1205e4dbc17946fc9a30d\"\u003e\u003ccode\u003e20cfd1b\u003c/code\u003e\u003c/a\u003e\nchore: update known checksums for 0.12.4 (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/1017\"\u003e#1017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/d73a0cab66a532d7afa440d9df4a67ea9fe65a30\"\u003e\u003ccode\u003ed73a0ca\u003c/code\u003e\u003c/a\u003e\nTolerate transient manifest timeouts (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/ae3b92d1bdb308a10adfe7b8f408e5cc8c30f3f6\"\u003e\u003ccode\u003eae3b92d\u003c/code\u003e\u003c/a\u003e\ndocs: update version references to v10.0.0 (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/1014\"\u003e#1014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/compare/ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d...20cfd1bf945f4377ade1205e4dbc17946fc9a30d\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dastral-sh/setup-uv\u0026package-manager\u003dgithub_actions\u0026previous-version\u003d10.0.0\u0026new-version\u003d10.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "c8c4285104995d63859991f115534828add66457",
      "tree": "2e0df0139e6a4908c69b592079fbab47448b594a",
      "parents": [
        "ea806dbc80cbaa493c2de8569767c81b816e9a24"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Aug 19 13:54:15 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 19 13:54:15 2026"
      },
      "message": "chore(deps): bump astral-sh/setup-uv from 9.0.0 to 10.0.0 (#3215)\n\nBumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from\n9.0.0 to 10.0.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/releases\"\u003eastral-sh/setup-uv\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.0.0 🌈 Disable automatic caching for sensitive events and new QOL\nfeatures\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eAnother breaking release, directly after v9.0.0 but we think the\nadded security justifies that.\u003c/p\u003e\n\u003ch3\u003eExtra security by default\u003c/h3\u003e\n\u003cp\u003eIf you use the default \u003ccode\u003eenable-cache: auto\u003c/code\u003e this will now\n\u003cstrong\u003eDISABLE THE CACHE\u003c/strong\u003e to protect against cache poisoning\nfor the following events:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epull_request_target\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eworkflow_run\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erelease\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read the full reasoning in \u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/984\"\u003eastral-sh/setup-uv#984\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003e\u003ccode\u003eversion: latest-known\u003c/code\u003e\u003c/h3\u003e\n\u003cpre lang\u003d\"yaml\"\u003e\u003ccode\u003e- name: Install the latest version of uv known to\nsetup-uv\n  uses: astral-sh/setup-uv@v10.0.0\n  with:\n    version: \u0026quot;latest-known\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis will now install the latest version with a checksum that is\nknown by this action. The \u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/blob/4f6036f71cec78afb113b323f220c9185d983c12/src/download/checksum/known-checksums.ts\"\u003eknown\n\u003ccode\u003euv\u003c/code\u003e checksums\u003c/a\u003e are automatically updated but will take a\nrelease of this action to take effect. You won\u0027t be always using the\nlatest \u0026amp; greatest but you will have an extra level of security.\u003c/p\u003e\n\u003ch3\u003eRead python version from \u003ccode\u003e.tool-versions\u003c/code\u003e\u003c/h3\u003e\n\u003cpre lang\u003d\"yaml\"\u003e\u003ccode\u003e- name: Install uv based on the version defined\nin .tool-versions and also set python\n  uses: astral-sh/setup-uv@v10.0.0\n  with:\n    version-file: \u0026quot;pyproject.toml\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eWill now also set the python version if it is defined in\n\u003ccode\u003e.tool-versions\u003c/code\u003e. You can read the details \u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/blob/main/docs/advanced-version-configuration.md#install-a-version-defined-in-a-requirements-or-config-file\"\u003ein\nthe docs\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e🚨 Breaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDisable automatic caching for sensitive events \u003ca\nhref\u003d\"https://github.com/eifinger\"\u003e\u003ccode\u003e@​eifinger\u003c/code\u003e\u003c/a\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/992\"\u003e#992\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReject paths in .tool-versions \u003ca\nhref\u003d\"https://github.com/eifinger\"\u003e\u003ccode\u003e@​eifinger\u003c/code\u003e\u003c/a\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/1007\"\u003e#1007\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🚀 Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRead Python version from .tool-versions \u003ca\nhref\u003d\"https://github.com/eifinger\"\u003e\u003ccode\u003e@​eifinger\u003c/code\u003e\u003c/a\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/996\"\u003e#996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd latest-known version selector \u003ca\nhref\u003d\"https://github.com/eifinger\"\u003e\u003ccode\u003e@​eifinger\u003c/code\u003e\u003c/a\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/993\"\u003e#993\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d\"\u003e\u003ccode\u003eae62891\u003c/code\u003e\u003c/a\u003e\nchore(deps): roll up Dependabot updates (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/1013\"\u003e#1013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/f9cdb47d487aee2be8925d1e57290177ad9e1ac2\"\u003e\u003ccode\u003ef9cdb47\u003c/code\u003e\u003c/a\u003e\nReject paths in .tool-versions (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/1007\"\u003e#1007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/4f6036f71cec78afb113b323f220c9185d983c12\"\u003e\u003ccode\u003e4f6036f\u003c/code\u003e\u003c/a\u003e\nRequire pull requests for Dependabot rollups (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/1005\"\u003e#1005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/8d6402c9b71205b2d8d0b82de531d8fed8430182\"\u003e\u003ccode\u003e8d6402c\u003c/code\u003e\u003c/a\u003e\nchore(deps): roll up Dependabot updates (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/1004\"\u003e#1004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/46f427bd47c794e99536b75ffaa9f27602425027\"\u003e\u003ccode\u003e46f427b\u003c/code\u003e\u003c/a\u003e\nRead Python version from .tool-versions (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/996\"\u003e#996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/8ed89c51143f65ea13eaba62db51dbb8ea52d0a3\"\u003e\u003ccode\u003e8ed89c5\u003c/code\u003e\u003c/a\u003e\nci: pin Alpine container image (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/995\"\u003e#995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/8473c7fea42cdfd540f4b01317a17ac5f54126ae\"\u003e\u003ccode\u003e8473c7f\u003c/code\u003e\u003c/a\u003e\nchore(deps): roll up Dependabot updates (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/18d451d679e1650bc59f25f17116168d04f30748\"\u003e\u003ccode\u003e18d451d\u003c/code\u003e\u003c/a\u003e\nAdd latest-known version selector (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/993\"\u003e#993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/f45168497b927d08c229345a5ab9ad5c85418d0b\"\u003e\u003ccode\u003ef451684\u003c/code\u003e\u003c/a\u003e\nDisable automatic caching for sensitive events (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/992\"\u003e#992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/b68407c192114b6e47cc45b98289832c3df00d5e\"\u003e\u003ccode\u003eb68407c\u003c/code\u003e\u003c/a\u003e\nchore: update known checksums for 0.12.3 (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/compare/c771a70e6277c0a99b617c7a806ffedaca235ff9...ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dastral-sh/setup-uv\u0026package-manager\u003dgithub_actions\u0026previous-version\u003d9.0.0\u0026new-version\u003d10.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "ea806dbc80cbaa493c2de8569767c81b816e9a24",
      "tree": "5132206378505b5030dbb9947ff00c455f7bd462",
      "parents": [
        "a21130f1a430f30aa72bf97bdb424c79c7b3a379"
      ],
      "author": {
        "name": "pre-commit-ci[bot]",
        "email": "66853113+pre-commit-ci[bot]@users.noreply.github.com",
        "time": "Mon Aug 17 19:42:11 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 17 19:42:11 2026"
      },
      "message": "[pre-commit.ci] pre-commit autoupdate (#3214)"
    },
    {
      "commit": "a21130f1a430f30aa72bf97bdb424c79c7b3a379",
      "tree": "3ae8d7fe6160d0719d64c49cba1ddecf26248bf7",
      "parents": [
        "00b80f5437a14318342b28a4ad749703145da393"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Sat Aug 15 07:18:22 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 15 07:18:22 2026"
      },
      "message": "Push renamed changelog to PR branch in upgrade workflow (#3213)\n\nThe \"Rename changelog with PR number\" step in `upgrade.yaml` checks out\nthe local `auto/upgrade-embedded-deps` branch that create-pull-request\nleft behind (no upstream configured) and then runs a bare `git push`,\nwhich fails with `fatal: The current branch auto/upgrade-embedded-deps\nhas no upstream branch`\n(https://github.com/pypa/virtualenv/actions/runs/31094988576,\nhttps://github.com/pypa/virtualenv/actions/runs/31307714056); the runs\nsince then are green only because no upgrade was pending. The step now\nchecks out `FETCH_HEAD` from the fetch it already does, so it works on\nwhat is actually on the remote for both the created and updated paths,\nand pushes explicitly with `git push origin\nHEAD:auto/upgrade-embedded-deps`."
    },
    {
      "commit": "00b80f5437a14318342b28a4ad749703145da393",
      "tree": "038ecf306fbea689f7f760ed80242e8c647841fc",
      "parents": [
        "38a2a31844eed86019cb1e94b5b9c2c5e811c74b"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Wed Aug 12 20:51:45 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 12 20:51:45 2026"
      },
      "message": "📄 docs: publish llms.txt from the docs build (#3210)"
    },
    {
      "commit": "38a2a31844eed86019cb1e94b5b9c2c5e811c74b",
      "tree": "185cd28353f9e176f00e7f66dcff452b4a403225",
      "parents": [
        "60ed5e984ff62e1e5f39809ba5bc658da0c6d8b9"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Wed Aug 12 17:31:35 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 12 17:31:35 2026"
      },
      "message": "🐛 fix(types): adapt to python-discovery 1.5.2 annotations (#3211)\n\nThe type environment fails on every PR since python-discovery 1.5.2\nreached PyPI today, for example in [this\njob](https://github.com/pypa/virtualenv/actions/runs/31618753498/job/94187986986).\nThe release added class-level annotations to `PythonInfo`, widening\n`prefix` to `str | None` and the `sysconfig_vars` values to `str | int |\nNone`, and ty rejects two call sites that assumed the narrower types.\n\nThe annotations match what the collector produces: `prefix` comes from\n`getattr(sys, \"prefix\", None)` and `sysconfig_vars` values from\n`sysconfig.get_config_var`, which returns strings, ints, or None.\n`Py_ENABLE_SHARED` for instance is an int. `Describe._calc_config_vars`\nreturns the vars unchanged when `prefix` is None, since no value can\npoint inside a prefix that does not exist.\n`CPython3Posix._shared_libpython` narrows `INSTSONAME` and `LIBDIR` to\nnon-empty strings before joining them into a path; an int in either slot\ncannot name a shared library, so it bails out the same way it did for\nmissing values.\n\nOn a regular CPython host `prefix` is a string and both vars are\nstrings, so runtime behavior stays the same. `tox r -e type` and `tox r\n-e fix` pass against 1.5.2. So do the describe and cpython3 unit tests.\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "60ed5e984ff62e1e5f39809ba5bc658da0c6d8b9",
      "tree": "65e25914e32a6155834e2d0f0600796350397a8e",
      "parents": [
        "6d9300904051ad30a917bbf351eb5344dd6ad06b"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Mon Aug 10 22:53:10 2026"
      },
      "committer": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Mon Aug 10 22:53:10 2026"
      },
      "message": "release 21.7.4"
    },
    {
      "commit": "6d9300904051ad30a917bbf351eb5344dd6ad06b",
      "tree": "723ac1a3b73652abe2445d92d2b7b289abc80d10",
      "parents": [
        "8b4f9f934899a28b9bbfde419fe9cc49f04e4153"
      ],
      "author": {
        "name": "github-actions[bot]",
        "email": "41898282+github-actions[bot]@users.noreply.github.com",
        "time": "Mon Aug 10 22:52:00 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 22:52:00 2026"
      },
      "message": "Upgrade embedded pip/setuptools/wheel (#3208)\n\nCo-authored-by: gaborbernat \u003c690238+gaborbernat@users.noreply.github.com\u003e"
    },
    {
      "commit": "8b4f9f934899a28b9bbfde419fe9cc49f04e4153",
      "tree": "a35334edbfc72cc954ea9c25eb44ba346b05c6d3",
      "parents": [
        "2c52ec0a2b7c222078a1eb92941ffb93a37f67f8"
      ],
      "author": {
        "name": "pre-commit-ci[bot]",
        "email": "66853113+pre-commit-ci[bot]@users.noreply.github.com",
        "time": "Mon Aug 10 19:35:03 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 19:35:03 2026"
      },
      "message": "[pre-commit.ci] pre-commit autoupdate (#3209)\n\n\u003c!--pre-commit.ci start--\u003e\nupdates:\n- [github.com/python-jsonschema/check-jsonschema: 0.37.4 →\n0.38.0](https://github.com/python-jsonschema/check-jsonschema/compare/0.37.4...0.38.0)\n- [github.com/tox-dev/pyproject-fmt: v2.26.0 →\nv2.27.0](https://github.com/tox-dev/pyproject-fmt/compare/v2.26.0...v2.27.0)\n- [github.com/astral-sh/ruff-pre-commit: v0.16.1 →\nv0.16.2](https://github.com/astral-sh/ruff-pre-commit/compare/v0.16.1...v0.16.2)\n\u003c!--pre-commit.ci end--\u003e\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "2c52ec0a2b7c222078a1eb92941ffb93a37f67f8",
      "tree": "465f767194a6b9be34206535dc5a8a34955fe0f6",
      "parents": [
        "8873d5eb711c89389b96c3a90f699bd600b51439"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Sat Aug 08 14:42:03 2026"
      },
      "committer": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Sat Aug 08 14:42:03 2026"
      },
      "message": "release 21.7.3"
    },
    {
      "commit": "8873d5eb711c89389b96c3a90f699bd600b51439",
      "tree": "f62299b7f68bc861ec08f36a4fb119e5c6a03fff",
      "parents": [
        "d32f44cd7ce0407e47486a7c216b37a00566e111"
      ],
      "author": {
        "name": "darrenhuai",
        "email": "60621295+darrenhuai@users.noreply.github.com",
        "time": "Sat Aug 08 14:40:44 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 08 14:40:44 2026"
      },
      "message": "🐛 fix(config): return a real list from ListType.split_values (#3207)\n\n`ListType.split_values` declares `-\u003e list[str]`, but the string branch\nended with `values \u003d filter(None, [...])` and returned that, so callers\ngot a one-shot iterator whose second pass came up empty and whose\n`len()` raised. 🐛 List input went through `list(value)`, so which type\nyou got back depended on which branch ran. The `ty:\nignore[invalid-return-type]` on the return statement was masking the\nmismatch. Since the only caller, `ListType.convert`, iterates the result\nonce, no user hits this today; it is a contract violation and a trap for\nthe next caller.\n\nBuilding the list in the string branch fixes that half. The `bytes` case\nwas messier. Both `splitlines` and `strip` accept `bytes`, so\n`split_values(b\"a\\nb\")` returned `[b\u0027a\u0027, b\u0027b\u0027]`, but input with no\nnewline fell through to `value.split(\",\")` and raised `TypeError` on the\n`str` separator, which the second `ty: ignore[invalid-argument-type]`\nwas hiding. Decoding `bytes` on entry repairs the comma path, leaves the\nnewline path working, and lets the result match the `list[str]`\nannotation, where before `self.as_type(i)` downstream would turn `b\"a\"`\ninto `\"b\u0027a\u0027\"`. Both ignore comments are gone and `ty check` still\npasses, the clearest evidence they were covering nothing but these two\nproblems.\n\nThe signature stays `str | bytes | list[str]`, so nothing public\nnarrows. Callers passing `bytes` now get `str` elements back instead of\n`bytes`.\n\n---------\n\nCo-authored-by: Bernat Gabor \u003cgaborjbernat@gmail.com\u003e"
    },
    {
      "commit": "d32f44cd7ce0407e47486a7c216b37a00566e111",
      "tree": "59b572548e955419a0f0171a107ff0f18617f9d7",
      "parents": [
        "eb997d3262a8655d27f78d77562a361e8410076f"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Fri Aug 07 22:54:54 2026"
      },
      "committer": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Fri Aug 07 22:54:54 2026"
      },
      "message": "release 21.7.2"
    },
    {
      "commit": "eb997d3262a8655d27f78d77562a361e8410076f",
      "tree": "c16b0bac39b192b7f0390015ede3ab6920fa8c57",
      "parents": [
        "9952a89b1d1ee338e67421d887d7badf6adfbe53"
      ],
      "author": {
        "name": "github-actions[bot]",
        "email": "41898282+github-actions[bot]@users.noreply.github.com",
        "time": "Fri Aug 07 22:53:35 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 07 22:53:35 2026"
      },
      "message": "Upgrade embedded pip/setuptools/wheel (#3206)\n\nCo-authored-by: gaborbernat \u003c690238+gaborbernat@users.noreply.github.com\u003e"
    },
    {
      "commit": "9952a89b1d1ee338e67421d887d7badf6adfbe53",
      "tree": "12017c506a395f5dccbfc6a6665fa9c7ac74d921",
      "parents": [
        "a3d3bb84af95336080c2a4c5699d704a39ba4d86"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Aug 05 00:25:40 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 05 00:25:40 2026"
      },
      "message": "chore(deps): bump pypa/gh-action-pypi-publish from 1.14.1 to 1.14.2 (#3203)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "a3d3bb84af95336080c2a4c5699d704a39ba4d86",
      "tree": "ff22cb0e65587efc544f4caea8e66b453916f9f2",
      "parents": [
        "e46c8e94d63b4214da3c24e1bc4febcfbfee7395"
      ],
      "author": {
        "name": "pre-commit-ci[bot]",
        "email": "66853113+pre-commit-ci[bot]@users.noreply.github.com",
        "time": "Mon Aug 03 19:22:15 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 03 19:22:15 2026"
      },
      "message": "[pre-commit.ci] pre-commit autoupdate (#3202)\n\n\u003c!--pre-commit.ci start--\u003e\nupdates:\n- [github.com/astral-sh/ruff-pre-commit: v0.16.0 →\nv0.16.1](https://github.com/astral-sh/ruff-pre-commit/compare/v0.16.0...v0.16.1)\n- [github.com/zizmorcore/zizmor-pre-commit: v1.28.0 →\nv1.29.0](https://github.com/zizmorcore/zizmor-pre-commit/compare/v1.28.0...v1.29.0)\n\u003c!--pre-commit.ci end--\u003e\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "e46c8e94d63b4214da3c24e1bc4febcfbfee7395",
      "tree": "64ad66a7d31a085fcf47e42da1dc6650f34b95ec",
      "parents": [
        "b66560a65d38d2ea7fe29829685b86a8d55146b5"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Thu Jul 30 15:39:16 2026"
      },
      "committer": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Thu Jul 30 15:39:16 2026"
      },
      "message": "release 21.7.1"
    },
    {
      "commit": "b66560a65d38d2ea7fe29829685b86a8d55146b5",
      "tree": "c22c14fff82d0b6bd7252955b03b9b3a18d9b88a",
      "parents": [
        "bf5f5206ec83e7536068e6f9525f8c8a9cda69ab"
      ],
      "author": {
        "name": "github-actions[bot]",
        "email": "41898282+github-actions[bot]@users.noreply.github.com",
        "time": "Thu Jul 30 15:37:53 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 30 15:37:53 2026"
      },
      "message": "Upgrade embedded pip/setuptools/wheel (#3201)\n\nAutomated upgrade of embedded pip, setuptools, and wheel dependencies.\n\nThis PR was created automatically by the [upgrade\nworkflow](https://github.com/pypa/virtualenv/actions/workflows/upgrade.yaml).\n\nCo-authored-by: gaborbernat \u003c690238+gaborbernat@users.noreply.github.com\u003e"
    },
    {
      "commit": "bf5f5206ec83e7536068e6f9525f8c8a9cda69ab",
      "tree": "a639d8139c69c9b27584e85c829a7b50f77dfd38",
      "parents": [
        "8507c7b0a0210eaa67c5c81d4d081d7c49fa679f"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Wed Jul 29 15:54:15 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 15:54:15 2026"
      },
      "message": "📝 docs(branding): clarify official logo vs favicon (#3200)\n\nThe `docs/_static` folder ships two logo files, `virtualenv.png` and\n`virtualenv.svg`, and a contributor in\n[#3199](https://github.com/pypa/virtualenv/issues/3199) read them as two\nformats of one asset and asked which is canonical. They are separate\ndesigns. The PNG is the detailed logo (snakes around a terminal with the\nwordmark). The SVG is a stripped-down mark used only for the favicon,\nwhere the detailed logo would be illegible at 16×16.\n\nA new \"Logo and branding\" section in the development guide states that\nthe PNG is the official logo and the SVG is a favicon-only mark. The\n`html_favicon` line in `docs/conf.py` now carries a comment pointing at\nthat note, so a later cleanup does not \"correct\" the mismatch. No assets\nchange."
    },
    {
      "commit": "8507c7b0a0210eaa67c5c81d4d081d7c49fa679f",
      "tree": "c85698b9059fb7b55b746ef4ee996141f0d305af",
      "parents": [
        "694406aeafe8a16011e6c04bb7728d1cd531df12"
      ],
      "author": {
        "name": "pre-commit-ci[bot]",
        "email": "66853113+pre-commit-ci[bot]@users.noreply.github.com",
        "time": "Wed Jul 29 15:21:12 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 15:21:12 2026"
      },
      "message": "[pre-commit.ci] pre-commit autoupdate (#3197)"
    },
    {
      "commit": "694406aeafe8a16011e6c04bb7728d1cd531df12",
      "tree": "c0755efbdbf41c496123403ec30c5c80bf1d7884",
      "parents": [
        "b486255413664ba1e7e264a7807e361feda5367b"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jul 29 15:03:34 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 15:03:34 2026"
      },
      "message": "chore(deps): bump astral-sh/setup-uv from 8.3.2 to 9.0.0 (#3198)\n\nBumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from\n8.3.2 to 9.0.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/releases\"\u003eastral-sh/setup-uv\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.0 🌈 Change \u003ccode\u003eprune-cache\u003c/code\u003e default to\n\u003ccode\u003efalse\u003c/code\u003e\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eThis release disables the default cache cache pruning to ease the\nload on the PyPi infrastructure.\nSince users might experience more GitHub Actions cache usage which might\nresult in higher costs this is marked as a breaking change. To read more\non why we did this (now) you can read the detailed analysis and\nreasoning in \u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/967\"\u003e#967\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eBesides this big breaking change we also have a small bugfix while\nbuilding caches for linux distributions that behave a big different than\nthe \u0026quot;big ones\u0026quot; and a speed up in version resolution by only\nreading the version manifest until a matching version is found saving\nruntime and network bandwith.\u003c/p\u003e\n\u003ch2\u003e🚨 Breaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange \u003ccode\u003eprune-cache\u003c/code\u003e default to \u003ccode\u003efalse\u003c/code\u003e \u003ca\nhref\u003d\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\n(\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/967\"\u003e#967\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: fall back to distribution ID when os-release has no version\nfield \u003ca href\u003d\"https://github.com/cxzhong\"\u003e\u003ccode\u003e@​cxzhong\u003c/code\u003e\u003c/a\u003e\n(\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/961\"\u003e#961\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🚀 Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up version client by partial response reads \u003ca\nhref\u003d\"https://github.com/eifinger\"\u003e\u003ccode\u003e@​eifinger\u003c/code\u003e\u003c/a\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/807\"\u003e#807\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: update known checksums for 0.11.30 @\u003ca\nhref\u003d\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\n(\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/968\"\u003e#968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: update known checksums for 0.11.29 @\u003ca\nhref\u003d\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\n(\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📚 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update version references to v8.3.2 @\u003ca\nhref\u003d\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\n(\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependency updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): roll up Dependabot updates \u003ca\nhref\u003d\"https://github.com/eifinger\"\u003e\u003ccode\u003e@​eifinger\u003c/code\u003e\u003c/a\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/970\"\u003e#970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): roll up Dependabot updates \u003ca\nhref\u003d\"https://github.com/eifinger\"\u003e\u003ccode\u003e@​eifinger\u003c/code\u003e\u003c/a\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/c771a70e6277c0a99b617c7a806ffedaca235ff9\"\u003e\u003ccode\u003ec771a70\u003c/code\u003e\u003c/a\u003e\nchore(deps): roll up Dependabot updates (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/970\"\u003e#970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/2f537ca87c1ffa233ca2a1b84815388e3e42d845\"\u003e\u003ccode\u003e2f537ca\u003c/code\u003e\u003c/a\u003e\nchore: update known checksums for 0.11.30 (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/968\"\u003e#968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/2269552d547df6f50e57442326930d30d943afe3\"\u003e\u003ccode\u003e2269552\u003c/code\u003e\u003c/a\u003e\nSpeed up version client by partial response reads (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/807\"\u003e#807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/47a7f4fb2e900d6c33a5b5f231fa21dbfaeba52f\"\u003e\u003ccode\u003e47a7f4f\u003c/code\u003e\u003c/a\u003e\nChange \u003ccode\u003eprune-cache\u003c/code\u003e default to \u003ccode\u003efalse\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/967\"\u003e#967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/71966eff34a27b0a62ed4b9f6f6e383e071b1bb5\"\u003e\u003ccode\u003e71966ef\u003c/code\u003e\u003c/a\u003e\nchore(deps): roll up Dependabot updates (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/f12b1f0a84bd6dc2331b36b2bbdbb1d1e617dbcc\"\u003e\u003ccode\u003ef12b1f0\u003c/code\u003e\u003c/a\u003e\nfix: fall back to distribution ID when os-release has no version field\n(\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/961\"\u003e#961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/ecd24dd710f2fb0dca1693a67af11fc4a5c5ec84\"\u003e\u003ccode\u003eecd24dd\u003c/code\u003e\u003c/a\u003e\nchore: update known checksums for 0.11.29 (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/6a191366842ac1502ba6c07e9b5acd5c2d9d8db3\"\u003e\u003ccode\u003e6a19136\u003c/code\u003e\u003c/a\u003e\ndocs: update version references to v8.3.2 (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/compare/11f9893b081a58869d3b5fccaea48c9e9e46f990...c771a70e6277c0a99b617c7a806ffedaca235ff9\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dastral-sh/setup-uv\u0026package-manager\u003dgithub_actions\u0026previous-version\u003d8.3.2\u0026new-version\u003d9.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "b486255413664ba1e7e264a7807e361feda5367b",
      "tree": "d34cebe5a654cd2bc37015c0fe36b625a41f1742",
      "parents": [
        "ac2ad97d67d2ecd6ceaaffde99586d98b7cfc8ea"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jul 27 06:31:38 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 27 06:31:38 2026"
      },
      "message": "chore(deps): bump pypa/gh-action-pypi-publish from 1.14.0 to 1.14.1 (#3196)\n\nBumps\n[pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish)\nfrom 1.14.0 to 1.14.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/pypa/gh-action-pypi-publish/releases\"\u003epypa/gh-action-pypi-publish\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.14.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e🛠️ Internal Dependencies\u003c/h2\u003e\n\u003cp\u003e\u003ca\nhref\u003d\"https://github.com/adisivaprasad\"\u003e\u003ccode\u003e@​adisivaprasad\u003c/code\u003e\u003c/a\u003e\u003ca\nhref\u003d\"https://github.com/sponsors/adisivaprasad\"\u003e💰\u003c/a\u003e helped get rid of\nthe GitHub Actions runner warning about the old Node 20 runtime being\nused by updating \u003ccode\u003eactions/setup-python\u003c/code\u003e from v5.6.0 to v6.2.0\nin \u003ca\nhref\u003d\"https://redirect.github.com/pypa/gh-action-pypi-publish/issues/408\"\u003e#408\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e💪 New Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/adisivaprasad\"\u003e\u003ccode\u003e@​adisivaprasad\u003c/code\u003e\u003c/a\u003e\nmade their first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/pypa/gh-action-pypi-publish/issues/408\"\u003e#408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/jylenhof\"\u003e\u003ccode\u003e@​jylenhof\u003c/code\u003e\u003c/a\u003e\u003ca\nhref\u003d\"https://github.com/sponsors/jylenhof\"\u003e💰\u003c/a\u003e followed up and\nreminded us to actually cut this release in \u003ca\nhref\u003d\"https://redirect.github.com/pypa/gh-action-pypi-publish/issues/413\"\u003e#413\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e🪞 Full Diff\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/pypa/gh-action-pypi-publish/compare/v1.14.0...v1.14.1\"\u003ehttps://github.com/pypa/gh-action-pypi-publish/compare/v1.14.0...v1.14.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e🧔‍♂️ Release Manager:\u003c/strong\u003e \u003ca\nhref\u003d\"https://github.com/sponsors/webknjaz\"\u003e\u003ccode\u003e@​webknjaz\u003c/code\u003e\u003c/a\u003e\n\u003ca href\u003d\"https://stand-with-ukraine.pp.ua\"\u003e🇺🇦\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e🙏 Special Thanks\u003c/strong\u003e to \u003ca\nhref\u003d\"https://github.com/jylenhof\"\u003e\u003ccode\u003e@​jylenhof\u003c/code\u003e\u003c/a\u003e\u003ca\nhref\u003d\"https://github.com/sponsors/jylenhof\"\u003e💰\u003c/a\u003e for reminding me to\nwork on this release!\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e💬 Discuss\u003c/strong\u003e \u003ca\nhref\u003d\"https://bsky.app/profile/did:plc:ve6s3mxkefjaxty3m4fdqumn/post/3mrd7jpnxc22d\"\u003eon\nBluesky 🦋\u003c/a\u003e, \u003ca\nhref\u003d\"https://mastodon.social/@webknjaz/116970132515797444\"\u003eon Mastodon\n🐘\u003c/a\u003e and \u003ca\nhref\u003d\"https://github.com/pypa/gh-action-pypi-publish/discussions/414\"\u003eon\nGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href\u003d\"https://github.com/sponsors/webknjaz\"\u003e\u003cimg\nsrc\u003d\"https://img.shields.io/badge/%40webknjaz-transparent?logo\u003dgithubsponsors\u0026amp;logoColor\u003d%23EA4AAA\u0026amp;label\u003dSponsor\u0026amp;color\u003d2a313c\"\nalt\u003d\"GH Sponsors badge\" /\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/pypa/gh-action-pypi-publish/commit/ba38be9e461d3875417946c167d0b5f3d385a247\"\u003e\u003ccode\u003eba38be9\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/pypa/gh-action-pypi-publish/issues/408\"\u003e#408\u003c/a\u003e\nfrom adisivaprasad/bump-setup-python-v6\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/pypa/gh-action-pypi-publish/commit/a6c5088d60d08ef54b70075735d25df696e5ccaa\"\u003e\u003ccode\u003ea6c5088\u003c/code\u003e\u003c/a\u003e\nBump actions/setup-python from v5.6.0 to v6.2.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca\nhref\u003d\"https://github.com/pypa/gh-action-pypi-publish/compare/cef221092ed1bacb1cc03d23a2d87d1d172e277b...ba38be9e461d3875417946c167d0b5f3d385a247\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dpypa/gh-action-pypi-publish\u0026package-manager\u003dgithub_actions\u0026previous-version\u003d1.14.0\u0026new-version\u003d1.14.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "ac2ad97d67d2ecd6ceaaffde99586d98b7cfc8ea",
      "tree": "d14d883f0625d7343e22b54a553d4ca962689bf5",
      "parents": [
        "df94b342b732f96859595104bebbcfa74a88616b"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jul 27 06:31:32 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 27 06:31:32 2026"
      },
      "message": "chore(deps): bump actions/setup-python from 6.3.0 to 7.0.0 (#3195)\n\nBumps [actions/setup-python](https://github.com/actions/setup-python)\nfrom 6.3.0 to 7.0.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/actions/setup-python/releases\"\u003eactions/setup-python\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrate to ESM and upgrade dependencies by \u003ca\nhref\u003d\"https://github.com/priyagupta108\"\u003e\u003ccode\u003e@​priyagupta108\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/pull/1330\"\u003eactions/setup-python#1330\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePin SHA commits and update docs with latest versions by \u003ca\nhref\u003d\"https://github.com/HarithaVattikuti\"\u003e\u003ccode\u003e@​HarithaVattikuti\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/pull/1338\"\u003eactions/setup-python#1338\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the pip-install input by \u003ca\nhref\u003d\"https://github.com/gowridurgad\"\u003e\u003ccode\u003e@​gowridurgad\u003c/code\u003e\u003c/a\u003e in\n\u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/pull/1336\"\u003eactions/setup-python#1336\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix to Classify stderr warning messages as warnings instead of\nerrors in annotations by \u003ca\nhref\u003d\"https://github.com/lmvysakh\"\u003e\u003ccode\u003e@​lmvysakh\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/pull/1335\"\u003eactions/setup-python#1335\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate and retry manifest fetch to prevent silent failures by \u003ca\nhref\u003d\"https://github.com/priyagupta108\"\u003e\u003ccode\u003e@​priyagupta108\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/pull/1332\"\u003eactions/setup-python#1332\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependency Upgrade\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump certifi from 2020.6.20 to 2024.7.4 in\n/\u003cstrong\u003etests\u003c/strong\u003e/data by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/pull/1328\"\u003eactions/setup-python#1328\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove EOL Python versions and Bumps numpy text fixture by \u003ca\nhref\u003d\"https://github.com/priya-kinthali\"\u003e\u003ccode\u003e@​priya-kinthali\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/pull/1333\"\u003eactions/setup-python#1333\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade \u003ccode\u003e@​actions/cache\u003c/code\u003e to 6.2.0 by \u003ca\nhref\u003d\"https://github.com/philip-gai\"\u003e\u003ccode\u003e@​philip-gai\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/pull/1337\"\u003eactions/setup-python#1337\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/lmvysakh\"\u003e\u003ccode\u003e@​lmvysakh\u003c/code\u003e\u003c/a\u003e\nmade their first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/pull/1335\"\u003eactions/setup-python#1335\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/philip-gai\"\u003e\u003ccode\u003e@​philip-gai\u003c/code\u003e\u003c/a\u003e made\ntheir first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/pull/1337\"\u003eactions/setup-python#1337\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/actions/setup-python/compare/v6...v7.0.0\"\u003ehttps://github.com/actions/setup-python/compare/v6...v7.0.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/setup-python/commit/5fda3b95a4ea91299a34e894583c3862153e4b97\"\u003e\u003ccode\u003e5fda3b9\u003c/code\u003e\u003c/a\u003e\nPin SHA commits and update docs with latest versions (\u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/setup-python/commit/4ab7e95f05e168b4356aebde89dd84f59c283d8e\"\u003e\u003ccode\u003e4ab7e95\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/issues/1337\"\u003e#1337\u003c/a\u003e\nfrom actions/philip-gai/bump-actions-cache-6-2-0\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/setup-python/commit/0f3a009f475dbea83c0371cd85d099690fee8c5c\"\u003e\u003ccode\u003e0f3a009\u003c/code\u003e\u003c/a\u003e\nRemove the pip-install input (\u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/issues/1336\"\u003e#1336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/setup-python/commit/f8cf4291c8b8e273ddd26e569454615c7315d932\"\u003e\u003ccode\u003ef8cf429\u003c/code\u003e\u003c/a\u003e\nMigrate to ESM and upgrade dependencies (\u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/issues/1330\"\u003e#1330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/setup-python/commit/54baeea5b34417d10a7479663a23cca53ea209b5\"\u003e\u003ccode\u003e54baeea\u003c/code\u003e\u003c/a\u003e\nValidate and retry manifest fetch to prevent silent failures (\u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/issues/1332\"\u003e#1332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/setup-python/commit/c7092773a316760f4ecfe498e4af668a4dafeac5\"\u003e\u003ccode\u003ec709277\u003c/code\u003e\u003c/a\u003e\nAnnotation code fix (\u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/issues/1335\"\u003e#1335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/setup-python/commit/6849080452e69b330395e8a6d23cf90f56d76a1a\"\u003e\u003ccode\u003e6849080\u003c/code\u003e\u003c/a\u003e\nremove EOL Python versions and Bumps numpy text fixture (\u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/issues/1333\"\u003e#1333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/setup-python/commit/0903b469fbf4441aadfe4f4b249dc5b1fba3a73e\"\u003e\u003ccode\u003e0903b46\u003c/code\u003e\u003c/a\u003e\nBump certifi from 2020.6.20 to 2024.7.4 in /\u003cstrong\u003etests\u003c/strong\u003e/data\n(\u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/issues/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca\nhref\u003d\"https://github.com/actions/setup-python/compare/ece7cb06caefa5fff74198d8649806c4678c61a1...5fda3b95a4ea91299a34e894583c3862153e4b97\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dactions/setup-python\u0026package-manager\u003dgithub_actions\u0026previous-version\u003d6.3.0\u0026new-version\u003d7.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "df94b342b732f96859595104bebbcfa74a88616b",
      "tree": "9b7c9f7105c4249246329bfd7ddb5e0db9867c8e",
      "parents": [
        "e6eb5b02190608ba5bbae8639e98792e41d88179"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Jul 24 05:43:49 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 24 05:43:49 2026"
      },
      "message": "chore(deps): bump actions/checkout from 7.0.0 to 7.0.1 (#3194)\n\nBumps [actions/checkout](https://github.com/actions/checkout) from 7.0.0\nto 7.0.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/actions/checkout/releases\"\u003eactions/checkout\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eskip running unsafe pr check if input is default by \u003ca\nhref\u003d\"https://github.com/aiqiaoy\"\u003e\u003ccode\u003e@​aiqiaoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2518\"\u003eactions/checkout#2518\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etrim only ascii whitespace for branch by \u003ca\nhref\u003d\"https://github.com/aiqiaoy\"\u003e\u003ccode\u003e@​aiqiaoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2521\"\u003eactions/checkout#2521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eescape values passed to --unset by \u003ca\nhref\u003d\"https://github.com/aiqiaoy\"\u003e\u003ccode\u003e@​aiqiaoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2530\"\u003eactions/checkout#2530\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVarious dependency updates\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/actions/checkout/compare/v7...v7.0.1\"\u003ehttps://github.com/actions/checkout/compare/v7...v7.0.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/actions/checkout/blob/main/CHANGELOG.md\"\u003eactions/checkout\u0027s\nchangelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003ev7.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSkip running unsafe pr check if input is default by \u003ca\nhref\u003d\"https://github.com/aiqiaoy\"\u003e\u003ccode\u003e@​aiqiaoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2518\"\u003eactions/checkout#2518\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrim only ascii whitespace for branch by \u003ca\nhref\u003d\"https://github.com/aiqiaoy\"\u003e\u003ccode\u003e@​aiqiaoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2521\"\u003eactions/checkout#2521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEscape values passed to --unset by \u003ca\nhref\u003d\"https://github.com/aiqiaoy\"\u003e\u003ccode\u003e@​aiqiaoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2530\"\u003eactions/checkout#2530\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVarious dependency updates\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBlock checking out fork PR for pull_request_target and workflow_run\nby \u003ca href\u003d\"https://github.com/aiqiaoy\"\u003e\u003ccode\u003e@​aiqiaoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2454\"\u003eactions/checkout#2454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVarious dependency updates\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.0.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix checkout init for SHA-256 repositories by \u003ca\nhref\u003d\"https://github.com/yaananth\"\u003e\u003ccode\u003e@​yaananth\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2439\"\u003eactions/checkout#2439\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: expand merge commit SHA regex and add SHA-256 test cases by \u003ca\nhref\u003d\"https://github.com/yaananth\"\u003e\u003ccode\u003e@​yaananth\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2414\"\u003eactions/checkout#2414\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix tag handling: preserve annotations and explicit fetch-tags by \u003ca\nhref\u003d\"https://github.com/ericsciple\"\u003e\u003ccode\u003e@​ericsciple\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2356\"\u003eactions/checkout#2356\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd worktree support for persist-credentials includeIf by \u003ca\nhref\u003d\"https://github.com/ericsciple\"\u003e\u003ccode\u003e@​ericsciple\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2327\"\u003eactions/checkout#2327\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePersist creds to a separate file by \u003ca\nhref\u003d\"https://github.com/ericsciple\"\u003e\u003ccode\u003e@​ericsciple\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2286\"\u003eactions/checkout#2286\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README to include Node.js 24 support details and requirements\nby \u003ca href\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2248\"\u003eactions/checkout#2248\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePort v6 cleanup to v5 by \u003ca\nhref\u003d\"https://github.com/ericsciple\"\u003e\u003ccode\u003e@​ericsciple\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2301\"\u003eactions/checkout#2301\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate actions checkout to use node 24 by \u003ca\nhref\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2226\"\u003eactions/checkout#2226\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.3.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePort v6 cleanup to v4 by \u003ca\nhref\u003d\"https://github.com/ericsciple\"\u003e\u003ccode\u003e@​ericsciple\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2305\"\u003eactions/checkout#2305\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update README.md by \u003ca\nhref\u003d\"https://github.com/motss\"\u003e\u003ccode\u003e@​motss\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1971\"\u003eactions/checkout#1971\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd internal repos for checking out multiple repositories by \u003ca\nhref\u003d\"https://github.com/mouismail\"\u003e\u003ccode\u003e@​mouismail\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1977\"\u003eactions/checkout#1977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation update - add recommended permissions to Readme by \u003ca\nhref\u003d\"https://github.com/benwells\"\u003e\u003ccode\u003e@​benwells\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2043\"\u003eactions/checkout#2043\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust positioning of user email note and permissions heading by \u003ca\nhref\u003d\"https://github.com/joshmgross\"\u003e\u003ccode\u003e@​joshmgross\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2044\"\u003eactions/checkout#2044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README.md by \u003ca\nhref\u003d\"https://github.com/nebuk89\"\u003e\u003ccode\u003e@​nebuk89\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2194\"\u003eactions/checkout#2194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CODEOWNERS for actions by \u003ca\nhref\u003d\"https://github.com/TingluoHuang\"\u003e\u003ccode\u003e@​TingluoHuang\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2224\"\u003eactions/checkout#2224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate package dependencies by \u003ca\nhref\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2236\"\u003eactions/checkout#2236\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eurl-helper.ts\u003c/code\u003e now leverages well-known environment\nvariables by \u003ca href\u003d\"https://github.com/jww3\"\u003e\u003ccode\u003e@​jww3\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1941\"\u003eactions/checkout#1941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpand unit test coverage for \u003ccode\u003eisGhes\u003c/code\u003e by \u003ca\nhref\u003d\"https://github.com/jww3\"\u003e\u003ccode\u003e@​jww3\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1946\"\u003eactions/checkout#1946\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCheck out other refs/* by commit if provided, fall back to ref by \u003ca\nhref\u003d\"https://github.com/orhantoy\"\u003e\u003ccode\u003e@​orhantoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1924\"\u003eactions/checkout#1924\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/3d3c42e5aac5ba805825da76410c181273ba90b1\"\u003e\u003ccode\u003e3d3c42e\u003c/code\u003e\u003c/a\u003e\nprep v7.0.1 release (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2531\"\u003e#2531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/28802689a136bfcdb721715abd713740beecbe07\"\u003e\u003ccode\u003e2880268\u003c/code\u003e\u003c/a\u003e\nescape values passed to --unset (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2530\"\u003e#2530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/12cd2235efa0937479335606d7c3ac9f6c0973b1\"\u003e\u003ccode\u003e12cd223\u003c/code\u003e\u003c/a\u003e\ntrim only ascii whitespace for branch (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2521\"\u003e#2521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/62661c4e71a304b2823ed026347b8d34c3eac541\"\u003e\u003ccode\u003e62661c4\u003c/code\u003e\u003c/a\u003e\nskip running unsafe pr check if input is default (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2518\"\u003e#2518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/e8d4307400f9427dba7cb98e488d6ab85f1cec5f\"\u003e\u003ccode\u003ee8d4307\u003c/code\u003e\u003c/a\u003e\nBump the minor-actions-dependencies group with 2 updates (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2499\"\u003e#2499\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/631c942040754b6e095e929c1677c07e10ed4f87\"\u003e\u003ccode\u003e631c942\u003c/code\u003e\u003c/a\u003e\neslint 9 (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2474\"\u003e#2474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/4f1f4aec02e41874fa0262ea8ff5172d7978ad1e\"\u003e\u003ccode\u003e4f1f4ae\u003c/code\u003e\u003c/a\u003e\nBump actions/upload-artifact from 4 to 7 (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2476\"\u003e#2476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/ba097532fb203f7e88c9c3c0b899b49469908a92\"\u003e\u003ccode\u003eba09753\u003c/code\u003e\u003c/a\u003e\nBump actions/checkout from 6 to 7 (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2488\"\u003e#2488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/b9e0990d219a03df7633c93f6f005a8fecbcab22\"\u003e\u003ccode\u003eb9e0990\u003c/code\u003e\u003c/a\u003e\nBump docker/login-action from 3.3.0 to 4.2.0 (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2479\"\u003e#2479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/e8cb398be4a550817e382abf69e4c12c76fce1f2\"\u003e\u003ccode\u003ee8cb398\u003c/code\u003e\u003c/a\u003e\nBump docker/build-push-action from 6.5.0 to 7.2.0 (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2478\"\u003e#2478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/actions/checkout/compare/9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0...3d3c42e5aac5ba805825da76410c181273ba90b1\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dactions/checkout\u0026package-manager\u003dgithub_actions\u0026previous-version\u003d7.0.0\u0026new-version\u003d7.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "e6eb5b02190608ba5bbae8639e98792e41d88179",
      "tree": "2900c1d56953b13121476569143a9667cc48bcc7",
      "parents": [
        "6d7bf90c34939a2fe6379be00d34e3b887988bb6"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Tue Jul 21 13:10:42 2026"
      },
      "committer": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Tue Jul 21 13:10:42 2026"
      },
      "message": "release 21.7.0"
    },
    {
      "commit": "6d7bf90c34939a2fe6379be00d34e3b887988bb6",
      "tree": "35b62c5dc26b3951e14e663c98dac19d12b39775",
      "parents": [
        "482c7f91d10b75b0f51e78aaf371a5dd05361f1a"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Tue Jul 21 13:10:17 2026"
      },
      "committer": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Tue Jul 21 13:10:17 2026"
      },
      "message": "Add changelog fragment for Python 3.15 support\n"
    },
    {
      "commit": "482c7f91d10b75b0f51e78aaf371a5dd05361f1a",
      "tree": "841f76cb3fe5d0993c7eb48ab07bfc815eb3a26a",
      "parents": [
        "a190228c76349ed8cf26db43aa4789a1f084cbb7"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Tue Jul 21 06:07:35 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 06:07:35 2026"
      },
      "message": "👷 ci: test against Python 3.15 beta (#3192)"
    },
    {
      "commit": "a190228c76349ed8cf26db43aa4789a1f084cbb7",
      "tree": "72220c78a9ce8fe110df13c75cbb844be33075c7",
      "parents": [
        "b54bc80c0f055fbc64cda453545486d589af0347"
      ],
      "author": {
        "name": "pre-commit-ci[bot]",
        "email": "66853113+pre-commit-ci[bot]@users.noreply.github.com",
        "time": "Tue Jul 21 05:42:06 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 05:42:06 2026"
      },
      "message": "[pre-commit.ci] pre-commit autoupdate (#3191)\n\nCo-authored-by: Bernát Gábor \u003cgaborjbernat@gmail.com\u003e"
    },
    {
      "commit": "b54bc80c0f055fbc64cda453545486d589af0347",
      "tree": "0d0446465e2bdad868a62998ccb69908a5691974",
      "parents": [
        "c5dff1d4defbd2f16ff0ead54de0354b2398fead"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Thu Jul 16 01:00:33 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 01:00:33 2026"
      },
      "message": "Replace prettier with mdformat and yamlfmt (#3190)\n\nCommitted via https://github.com/asottile/all-repos"
    },
    {
      "commit": "c5dff1d4defbd2f16ff0ead54de0354b2398fead",
      "tree": "0ed71dee4482515d2c5e3c340c95aa3fb75e28a9",
      "parents": [
        "cab4a0af798849839dfeaa814257e1c8e84ef01e"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jul 15 07:30:51 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 07:30:51 2026"
      },
      "message": "chore(deps): bump astral-sh/setup-uv from 8.3.1 to 8.3.2 (#3189)\n\nBumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from\n8.3.1 to 8.3.2.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/11f9893b081a58869d3b5fccaea48c9e9e46f990\"\u003e\u003ccode\u003e11f9893\u003c/code\u003e\u003c/a\u003e\nchore: roll up Dependabot updates (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/f79855603231e1609d02bec6956bd0e05cbc46b5\"\u003e\u003ccode\u003ef798556\u003c/code\u003e\u003c/a\u003e\ndocs: update version references to v8.3.1 (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/946\"\u003e#946\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/e80544d808267c93733c3fd1e2c8c65e0c8707d6\"\u003e\u003ccode\u003ee80544d\u003c/code\u003e\u003c/a\u003e\nchore: update known checksums for 0.11.28 (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/compare/f98e06938123ccabd21905ea5d0069192241f9f1...11f9893b081a58869d3b5fccaea48c9e9e46f990\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dastral-sh/setup-uv\u0026package-manager\u003dgithub_actions\u0026previous-version\u003d8.3.1\u0026new-version\u003d8.3.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "cab4a0af798849839dfeaa814257e1c8e84ef01e",
      "tree": "88190d65e8b5d78efcc9496baf1c914751d6a2ae",
      "parents": [
        "c53b5b198abbc5ff7de38eb823bf15c9f618a9a3"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Jul 14 00:38:31 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 14 00:38:31 2026"
      },
      "message": "chore(deps): bump astral-sh/setup-uv from 8.3.0 to 8.3.1 (#3188)\n\nBumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from\n8.3.0 to 8.3.1.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/f98e06938123ccabd21905ea5d0069192241f9f1\"\u003e\u003ccode\u003ef98e069\u003c/code\u003e\u003c/a\u003e\nChange update-docs PR labels from \u0027update-docs\u0027 to \u0027documentation\u0027 (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/cd462639a967553a16241af35461402a96978d48\"\u003e\u003ccode\u003ecd46263\u003c/code\u003e\u003c/a\u003e\nchore: update known checksums for 0.11.27 (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/944\"\u003e#944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/11245c7e122cd1c2297e8115d1e43fe1570f6270\"\u003e\u003ccode\u003e11245c7\u003c/code\u003e\u003c/a\u003e\ndocs: update version references to v8.3.0 (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/compare/d31148d669074a8d0a63714ba94f3201e7020bc3...f98e06938123ccabd21905ea5d0069192241f9f1\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dastral-sh/setup-uv\u0026package-manager\u003dgithub_actions\u0026previous-version\u003d8.3.0\u0026new-version\u003d8.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "c53b5b198abbc5ff7de38eb823bf15c9f618a9a3",
      "tree": "b0e40777c09b6bf21a0da96fe6e7e9ef848dace3",
      "parents": [
        "20b70f30e8f712c099905454b100d68cc677ef53"
      ],
      "author": {
        "name": "pre-commit-ci[bot]",
        "email": "66853113+pre-commit-ci[bot]@users.noreply.github.com",
        "time": "Mon Jul 13 20:47:49 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 20:47:49 2026"
      },
      "message": "[pre-commit.ci] pre-commit autoupdate (#3187)"
    },
    {
      "commit": "20b70f30e8f712c099905454b100d68cc677ef53",
      "tree": "d0731ebebca09770be6cd5b5599db85e8bda8182",
      "parents": [
        "544ca3d8b08188e8329570c88b362956496aaeec"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jul 13 04:10:06 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 04:10:06 2026"
      },
      "message": "chore(deps): bump astral-sh/setup-uv from 8.2.0 to 8.3.0 (#3186)\n\nBumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from\n8.2.0 to 8.3.0.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/d31148d669074a8d0a63714ba94f3201e7020bc3\"\u003e\u003ccode\u003ed31148d\u003c/code\u003e\u003c/a\u003e\nStrip environment markers from detected uv dependency pins (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/17c398959b4611a88929fabb5c563a8e43a0ff60\"\u003e\u003ccode\u003e17c3989\u003c/code\u003e\u003c/a\u003e\nFix cache keys for Python version ranges (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/937\"\u003e#937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/3cc3c11fdf511cab39136b7c946d973d4ad0df20\"\u003e\u003ccode\u003e3cc3c11\u003c/code\u003e\u003c/a\u003e\nchore(deps): roll up Dependabot updates (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/936\"\u003e#936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/9225f843d7a9f80a757cf25ef48901fda69ba4bc\"\u003e\u003ccode\u003e9225f84\u003c/code\u003e\u003c/a\u003e\nchore(deps): bump release-drafter/release-drafter from 7.3.1 to 7.4.0\n(\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/fc16fa3bbf37d2816834f76a1fe25d33564eaa34\"\u003e\u003ccode\u003efc16fa3\u003c/code\u003e\u003c/a\u003e\nchore(deps): bump actions/checkout from 6.0.2 to 7.0.0 (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/926\"\u003e#926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/a1a7345c8ef5d6d3b18c6f1c247244c19f1d878c\"\u003e\u003ccode\u003ea1a7345\u003c/code\u003e\u003c/a\u003e\nci: call docs update workflow from release (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/a5e9cbfd5f946647f478460490fa497b0a732e63\"\u003e\u003ccode\u003ea5e9cbf\u003c/code\u003e\u003c/a\u003e\ndocs: update version references to v8.2.0 (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/932\"\u003e#932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/c5680ec91f7b9b91406fab4ded5d45245abf7b67\"\u003e\u003ccode\u003ec5680ec\u003c/code\u003e\u003c/a\u003e\nchore: update known checksums for 0.11.26 (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/930\"\u003e#930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/c86fe4ef1f4a79845e6d465628d733650f6c41d8\"\u003e\u003ccode\u003ec86fe4e\u003c/code\u003e\u003c/a\u003e\nAdd a threat model for setup-uv (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/224c887d488ab24d8a1b49f10416d6ad6b6ca71d\"\u003e\u003ccode\u003e224c887\u003c/code\u003e\u003c/a\u003e\nchore: update known checksums for 0.11.25 (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/929\"\u003e#929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/compare/fac544c07dec837d0ccb6301d7b5580bf5edae39...d31148d669074a8d0a63714ba94f3201e7020bc3\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dastral-sh/setup-uv\u0026package-manager\u003dgithub_actions\u0026previous-version\u003d8.2.0\u0026new-version\u003d8.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "544ca3d8b08188e8329570c88b362956496aaeec",
      "tree": "ea697b1db52c990b0c2286f296488087212e88df",
      "parents": [
        "3abee98f928981c19240f506401e92a15960e20c"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Fri Jul 10 19:32:42 2026"
      },
      "committer": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Fri Jul 10 19:32:42 2026"
      },
      "message": "release 21.6.1"
    },
    {
      "commit": "3abee98f928981c19240f506401e92a15960e20c",
      "tree": "3858e334e7d2696bc8e36cece3a2d7466e24a73f",
      "parents": [
        "57c8dc69a9080c3cd5741355aa756ce5a3b8ab15"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Fri Jul 10 19:31:35 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 10 19:31:35 2026"
      },
      "message": "🐛 fix(fish): harden prompt against shadowed builtins (#3185)"
    },
    {
      "commit": "57c8dc69a9080c3cd5741355aa756ce5a3b8ab15",
      "tree": "2d47494a9355c7efab61cd56685d45495c597c76",
      "parents": [
        "04ff7560669642b2861d1c83df0e2daa05da99d3"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Mon Jul 06 22:48:33 2026"
      },
      "committer": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Mon Jul 06 22:48:33 2026"
      },
      "message": "release 21.6.0"
    },
    {
      "commit": "04ff7560669642b2861d1c83df0e2daa05da99d3",
      "tree": "ae0ff692d684d413fb04c25cb01950178c748f74",
      "parents": [
        "7c3506546ba1b5f848d784202165be093773fe10"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Mon Jul 06 22:47:34 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 06 22:47:34 2026"
      },
      "message": "✨ feat(create): skip distutils hook on Python 3.10+ (#3184)\n\nvirtualenv installs a `_virtualenv.{py,pth}` import hook into every\nenvironment to stop distutils install config keys (`prefix`,\n`install_purelib`, and friends from `~/.pydistutils.cfg` or a project\n`setup.cfg`) from redirecting package installs outside the environment.\nAs #3181 tracks, that guard no longer earns its keep on modern Python.\nSince 3.10 pip ignores those keys by default, and both setuptools and\nCPython\u0027s vendored distutils drop them too. What survives is cost. The\n`.pth` runs `import _virtualenv` on every interpreter startup, which\nimports `contextlib` and adds about 2ms (measured in the issue).\n\nThis gates hook installation on the target interpreter version, so\nenvironments for Python 3.10 and later skip the hook and its startup\nimport. The cutoff avoids a blanket removal for one reason: the last pip\nrelease supporting Python 3.9 still needs the workaround below 3.10, so\n3.9 environments keep the hook. Once virtualenv drops 3.9,\n`install_patch` and `_virtualenv.py` can go for good.\n\nNothing changes for 3.9 or for the escape-prevention guarantee itself,\nsince pip on 3.10+ keeps installs inside the environment without our\nhook. Closes #3181.\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "7c3506546ba1b5f848d784202165be093773fe10",
      "tree": "427a21124f68654f7597bdfa0367052e91fc70da",
      "parents": [
        "ca5eefaa86e5b9a3f431f9b9f6a11ed5be439642"
      ],
      "author": {
        "name": "pre-commit-ci[bot]",
        "email": "66853113+pre-commit-ci[bot]@users.noreply.github.com",
        "time": "Mon Jul 06 21:08:39 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 06 21:08:39 2026"
      },
      "message": "[pre-commit.ci] pre-commit autoupdate (#3183)\n\n\u003c!--pre-commit.ci start--\u003e\nupdates:\n- [github.com/python-jsonschema/check-jsonschema: 0.37.3 →\n0.37.4](https://github.com/python-jsonschema/check-jsonschema/compare/0.37.3...0.37.4)\n- [github.com/rbubley/mirrors-prettier: v3.9.1 →\nv3.9.4](https://github.com/rbubley/mirrors-prettier/compare/v3.9.1...v3.9.4)\n\u003c!--pre-commit.ci end--\u003e\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "ca5eefaa86e5b9a3f431f9b9f6a11ed5be439642",
      "tree": "34fabf2d1f52c7dbce4ecbef5b14c88a02516517",
      "parents": [
        "84d652f15a7616079de77775fbb3d38e49474cda"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Mon Jul 06 15:19:52 2026"
      },
      "committer": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Mon Jul 06 15:19:52 2026"
      },
      "message": "release 21.5.2"
    },
    {
      "commit": "84d652f15a7616079de77775fbb3d38e49474cda",
      "tree": "bc1dccd4ae060194adbd9a6ed74d3df29d5487cf",
      "parents": [
        "1fa46f509496f9526fbe333ee5c955f7e158e0a9"
      ],
      "author": {
        "name": "github-actions[bot]",
        "email": "41898282+github-actions[bot]@users.noreply.github.com",
        "time": "Mon Jul 06 15:18:54 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 06 15:18:54 2026"
      },
      "message": "Upgrade embedded pip/setuptools/wheel (#3180)\n\nAutomated upgrade of embedded pip, setuptools, and wheel dependencies.\n\nThis PR was created automatically by the [upgrade\nworkflow](https://github.com/pypa/virtualenv/actions/workflows/upgrade.yaml).\n\n---------\n\nCo-authored-by: gaborbernat \u003c690238+gaborbernat@users.noreply.github.com\u003e\nCo-authored-by: github-actions[bot] \u003c41898282+github-actions[bot]@users.noreply.github.com\u003e\nCo-authored-by: Bernat Gabor \u003cgaborjbernat@gmail.com\u003e"
    },
    {
      "commit": "1fa46f509496f9526fbe333ee5c955f7e158e0a9",
      "tree": "28ede9b3ee24b7e60b7a184106a0ab553a3264ab",
      "parents": [
        "0a2e25ca9a1f3fb45becb66ed8443760c3d7b4d1"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Mon Jul 06 15:18:37 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 06 15:18:37 2026"
      },
      "message": "fix(upgrade): emit dash bullets in changelog (#3182)\n\n`_write_changelog` in `tasks/upgrade_wheels.py` rendered upgrade list\nitems with `*`, but the repo\u0027s `docstrfmt` pre-commit hook normalizes\nbullet lists to `-`. Every auto-generated upgrade PR failed docstrfmt\nuntil the bullet was fixed by hand (e.g. #3180).\n\nEmit `-` so the generated fragment is clean on the first try.\n\nTask-script-only change, so no changelog fragment (matches #3143)."
    },
    {
      "commit": "0a2e25ca9a1f3fb45becb66ed8443760c3d7b4d1",
      "tree": "732cef8b2bcfc92af3e30b55ddcf2416629f8b1e",
      "parents": [
        "5fcb71d1a9b2aace511704fb520371f5216d5b5c"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Fri Jul 03 15:17:25 2026"
      },
      "committer": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Fri Jul 03 15:17:25 2026"
      },
      "message": ":moneybag: Surface GitHub Sponsors + thanks.dev"
    },
    {
      "commit": "5fcb71d1a9b2aace511704fb520371f5216d5b5c",
      "tree": "7a321dd4fed5c63b4580f39bde70ddb0ca8a718d",
      "parents": [
        "44a0f9a0e3fdef5850531ea7c81bfd48005ecaa8"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Jun 30 04:04:54 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 30 04:04:54 2026"
      },
      "message": "chore(deps): bump actions/setup-python from 6.2.0 to 6.3.0 (#3179)\n\nBumps [actions/setup-python](https://github.com/actions/setup-python)\nfrom 6.2.0 to 6.3.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/actions/setup-python/releases\"\u003eactions/setup-python\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003ch3\u003eEnhancement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd RHEL support and include Linux distro in cache keys by \u003ca\nhref\u003d\"https://github.com/priyagupta108\"\u003e\u003ccode\u003e@​priyagupta108\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/pull/1323\"\u003eactions/setup-python#1323\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix pip cache error handling on Windows by \u003ca\nhref\u003d\"https://github.com/priyagupta108\"\u003e\u003ccode\u003e@​priyagupta108\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/pull/1040\"\u003eactions/setup-python#1040\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependency update\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade minimatch from 3.1.2 to 3.1.5 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/pull/1281\"\u003eactions/setup-python#1281\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade actions dependencies by \u003ca\nhref\u003d\"https://github.com/gowridurgad\"\u003e\u003ccode\u003e@​gowridurgad\u003c/code\u003e\u003c/a\u003e\nwith \u003ca href\u003d\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in\n\u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/pull/1303\"\u003eactions/setup-python#1303\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade \u003ccode\u003e@​actions/cache\u003c/code\u003e to 5.1.0, log cache write\ndenied by \u003ca\nhref\u003d\"https://github.com/jasongin\"\u003e\u003ccode\u003e@​jasongin\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/pull/1324\"\u003eactions/setup-python#1324\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade dependency versions and test workflow configuration by \u003ca\nhref\u003d\"https://github.com/HarithaVattikuti\"\u003e\u003ccode\u003e@​HarithaVattikuti\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/pull/1322\"\u003eactions/setup-python#1322\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate advanced-usage.md by \u003ca\nhref\u003d\"https://github.com/Dunky-Z\"\u003e\u003ccode\u003e@​Dunky-Z\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/pull/811\"\u003eactions/setup-python#811\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/gowridurgad\"\u003e\u003ccode\u003e@​gowridurgad\u003c/code\u003e\u003c/a\u003e\nwith \u003ca href\u003d\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e\nmade their first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/pull/1303\"\u003eactions/setup-python#1303\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/jasongin\"\u003e\u003ccode\u003e@​jasongin\u003c/code\u003e\u003c/a\u003e\nmade their first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/pull/1324\"\u003eactions/setup-python#1324\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/Dunky-Z\"\u003e\u003ccode\u003e@​Dunky-Z\u003c/code\u003e\u003c/a\u003e made\ntheir first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/pull/811\"\u003eactions/setup-python#811\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/actions/setup-python/compare/v6...v6.3.0\"\u003ehttps://github.com/actions/setup-python/compare/v6...v6.3.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/setup-python/commit/ece7cb06caefa5fff74198d8649806c4678c61a1\"\u003e\u003ccode\u003eece7cb0\u003c/code\u003e\u003c/a\u003e\nFix pip cache error handling on Windows. (\u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/issues/1040\"\u003e#1040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/setup-python/commit/1d18d7af5f767c1259ede05a0a5bcc30f3dcf1cf\"\u003e\u003ccode\u003e1d18d7a\u003c/code\u003e\u003c/a\u003e\nUpdate advanced-usage.md (\u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/issues/811\"\u003e#811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/setup-python/commit/d2b357a6a3a3687dd6781a416c0d24fcfd68660e\"\u003e\u003ccode\u003ed2b357a\u003c/code\u003e\u003c/a\u003e\nUpdate dependency versions and test workflow configuration (\u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/issues/1322\"\u003e#1322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/setup-python/commit/8f639b1e75c1048640734b2bb46e22cecf136982\"\u003e\u003ccode\u003e8f639b1\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/issues/1324\"\u003e#1324\u003c/a\u003e\nfrom jasongin/update-actions-cache-5.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/setup-python/commit/6731c2ba87f530c26324d128c8fdd53499a4d4b0\"\u003e\u003ccode\u003e6731c2b\u003c/code\u003e\u003c/a\u003e\nResolve high-severity audit issues\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/setup-python/commit/0cb1a84326b90186fcd211036c65b42819794c87\"\u003e\u003ccode\u003e0cb1a84\u003c/code\u003e\u003c/a\u003e\nAdd RHEL support and include Linux distro in cache keys (\u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/issues/1323\"\u003e#1323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/setup-python/commit/dc6eab6194394e0119523369788b507096f923e2\"\u003e\u003ccode\u003edc6eab6\u003c/code\u003e\u003c/a\u003e\nUpdate dist\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/setup-python/commit/6f4b74bfa2f520a380a620de3615c0dac427f4d3\"\u003e\u003ccode\u003e6f4b74b\u003c/code\u003e\u003c/a\u003e\nStrict equality\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/setup-python/commit/fa8bde1a9cc6347d06948d66bcd68c598b79eaea\"\u003e\u003ccode\u003efa8bde1\u003c/code\u003e\u003c/a\u003e\nBump \u003ccode\u003e@​actions/cache\u003c/code\u003e to 5.1.0, log cache write denied\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/setup-python/commit/c8813ba1bc76ebf779b911ad8ffccbf2e449cb48\"\u003e\u003ccode\u003ec8813ba\u003c/code\u003e\u003c/a\u003e\nUpgrade \u003ca href\u003d\"https://github.com/actions\"\u003e\u003ccode\u003e@​actions\u003c/code\u003e\u003c/a\u003e\ndependencies and update licenses (\u003ca\nhref\u003d\"https://redirect.github.com/actions/setup-python/issues/1303\"\u003e#1303\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/actions/setup-python/compare/a309ff8b426b58ec0e2a45f0f869d46889d02405...ece7cb06caefa5fff74198d8649806c4678c61a1\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dactions/setup-python\u0026package-manager\u003dgithub_actions\u0026previous-version\u003d6.2.0\u0026new-version\u003d6.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "44a0f9a0e3fdef5850531ea7c81bfd48005ecaa8",
      "tree": "c76b2827c951806c40f4accf878f2d1bfad9b2b7",
      "parents": [
        "8681256d0a532b88117ce068435dd61b86d7f56d"
      ],
      "author": {
        "name": "pre-commit-ci[bot]",
        "email": "66853113+pre-commit-ci[bot]@users.noreply.github.com",
        "time": "Mon Jun 29 19:13:46 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 29 19:13:46 2026"
      },
      "message": "[pre-commit.ci] pre-commit autoupdate (#3178)\n\n\u003c!--pre-commit.ci start--\u003e\nupdates:\n- [github.com/tox-dev/pyproject-fmt: v2.25.0 →\nv2.25.1](https://github.com/tox-dev/pyproject-fmt/compare/v2.25.0...v2.25.1)\n- [github.com/astral-sh/ruff-pre-commit: v0.15.18 →\nv0.15.20](https://github.com/astral-sh/ruff-pre-commit/compare/v0.15.18...v0.15.20)\n- [github.com/rbubley/mirrors-prettier: v3.8.4 →\nv3.9.1](https://github.com/rbubley/mirrors-prettier/compare/v3.8.4...v3.9.1)\n\u003c!--pre-commit.ci end--\u003e\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "8681256d0a532b88117ce068435dd61b86d7f56d",
      "tree": "c7cb5c03d8010c96b08f70f0b48063f25ec4ec0e",
      "parents": [
        "0b42ffe9e0a0ab87189bc716eba3a2ffb5699eda"
      ],
      "author": {
        "name": "pre-commit-ci[bot]",
        "email": "66853113+pre-commit-ci[bot]@users.noreply.github.com",
        "time": "Wed Jun 24 07:37:15 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 24 07:37:15 2026"
      },
      "message": "[pre-commit.ci] pre-commit autoupdate (#3176)\n\n\u003c!--pre-commit.ci start--\u003e\nupdates:\n- [github.com/tox-dev/pyproject-fmt: v2.24.1 →\nv2.25.0](https://github.com/tox-dev/pyproject-fmt/compare/v2.24.1...v2.25.0)\n- [github.com/astral-sh/ruff-pre-commit: v0.15.17 →\nv0.15.18](https://github.com/astral-sh/ruff-pre-commit/compare/v0.15.17...v0.15.18)\n- [github.com/LilSpazJoekp/docstrfmt: v2.1.1 →\nv2.2.0](https://github.com/LilSpazJoekp/docstrfmt/compare/v2.1.1...v2.2.0)\n- [github.com/zizmorcore/zizmor-pre-commit: v1.25.2 →\nv1.26.1](https://github.com/zizmorcore/zizmor-pre-commit/compare/v1.25.2...v1.26.1)\n\u003c!--pre-commit.ci end--\u003e\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e\nCo-authored-by: Bernát Gábor \u003cgaborjbernat@gmail.com\u003e"
    },
    {
      "commit": "0b42ffe9e0a0ab87189bc716eba3a2ffb5699eda",
      "tree": "3dc8f1781bbde499047f573da53123b7ed0aa94b",
      "parents": [
        "736220190fbe6a5161f37c9a51df98ebb4837ea0"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jun 24 01:52:59 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 24 01:52:59 2026"
      },
      "message": "chore(deps): bump actions/checkout from 6.0.3 to 7.0.0 (#3177)\n\nBumps [actions/checkout](https://github.com/actions/checkout) from 6.0.3\nto 7.0.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/actions/checkout/releases\"\u003eactions/checkout\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eblock checking out fork pr for pull_request_target and workflow_run\nby \u003ca href\u003d\"https://github.com/aiqiaoy\"\u003e\u003ccode\u003e@​aiqiaoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2454\"\u003eactions/checkout#2454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/publish-immutable-action from 0.0.3 to 0.0.4 in the\nminor-actions-dependencies group across 1 directory by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot]\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2458\"\u003eactions/checkout#2458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump flatted from 3.3.1 to 3.4.2 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot]\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2460\"\u003eactions/checkout#2460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump js-yaml from 4.1.0 to 4.2.0 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot]\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2461\"\u003eactions/checkout#2461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003e@​actions/core\u003c/code\u003e and\n\u003ccode\u003e@​actions/tool-cache\u003c/code\u003e and Remove uuid by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot]\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2459\"\u003eactions/checkout#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade module to esm and update dependencies by \u003ca\nhref\u003d\"https://github.com/aiqiaoy\"\u003e\u003ccode\u003e@​aiqiaoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2463\"\u003eactions/checkout#2463\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the minor-npm-dependencies group across 1 directory with 3\nupdates by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot]\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2462\"\u003eactions/checkout#2462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003egetting ready for checkout v7 release by \u003ca\nhref\u003d\"https://github.com/aiqiaoy\"\u003e\u003ccode\u003e@​aiqiaoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2464\"\u003eactions/checkout#2464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate error wording by \u003ca\nhref\u003d\"https://github.com/aiqiaoy\"\u003e\u003ccode\u003e@​aiqiaoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2467\"\u003eactions/checkout#2467\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/aiqiaoy\"\u003e\u003ccode\u003e@​aiqiaoy\u003c/code\u003e\u003c/a\u003e made\ntheir first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2454\"\u003eactions/checkout#2454\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/actions/checkout/compare/v6.0.3...v7.0.0\"\u003ehttps://github.com/actions/checkout/compare/v6.0.3...v7.0.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/actions/checkout/blob/main/CHANGELOG.md\"\u003eactions/checkout\u0027s\nchangelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003ev7.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBlock checking out fork PR for pull_request_target and workflow_run\nby \u003ca href\u003d\"https://github.com/aiqiaoy\"\u003e\u003ccode\u003e@​aiqiaoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2454\"\u003eactions/checkout#2454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/publish-immutable-action from 0.0.3 to 0.0.4 in the\nminor-actions-dependencies group across 1 directory by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot]\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2458\"\u003eactions/checkout#2458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump flatted from 3.3.1 to 3.4.2 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot]\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2460\"\u003eactions/checkout#2460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump js-yaml from 4.1.0 to 4.2.0 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot]\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2461\"\u003eactions/checkout#2461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003e@​actions/core\u003c/code\u003e and\n\u003ccode\u003e@​actions/tool-cache\u003c/code\u003e and Remove uuid by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot]\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2459\"\u003eactions/checkout#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupgrade module to esm and update dependencies by \u003ca\nhref\u003d\"https://github.com/aiqiaoy\"\u003e\u003ccode\u003e@​aiqiaoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2463\"\u003eactions/checkout#2463\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the minor-npm-dependencies group across 1 directory with 3\nupdates by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot]\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2462\"\u003eactions/checkout#2462\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.0.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix checkout init for SHA-256 repositories by \u003ca\nhref\u003d\"https://github.com/yaananth\"\u003e\u003ccode\u003e@​yaananth\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2439\"\u003eactions/checkout#2439\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: expand merge commit SHA regex and add SHA-256 test cases by \u003ca\nhref\u003d\"https://github.com/yaananth\"\u003e\u003ccode\u003e@​yaananth\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2414\"\u003eactions/checkout#2414\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix tag handling: preserve annotations and explicit fetch-tags by \u003ca\nhref\u003d\"https://github.com/ericsciple\"\u003e\u003ccode\u003e@​ericsciple\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2356\"\u003eactions/checkout#2356\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd worktree support for persist-credentials includeIf by \u003ca\nhref\u003d\"https://github.com/ericsciple\"\u003e\u003ccode\u003e@​ericsciple\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2327\"\u003eactions/checkout#2327\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePersist creds to a separate file by \u003ca\nhref\u003d\"https://github.com/ericsciple\"\u003e\u003ccode\u003e@​ericsciple\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2286\"\u003eactions/checkout#2286\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README to include Node.js 24 support details and requirements\nby \u003ca href\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2248\"\u003eactions/checkout#2248\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePort v6 cleanup to v5 by \u003ca\nhref\u003d\"https://github.com/ericsciple\"\u003e\u003ccode\u003e@​ericsciple\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2301\"\u003eactions/checkout#2301\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate actions checkout to use node 24 by \u003ca\nhref\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2226\"\u003eactions/checkout#2226\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.3.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePort v6 cleanup to v4 by \u003ca\nhref\u003d\"https://github.com/ericsciple\"\u003e\u003ccode\u003e@​ericsciple\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2305\"\u003eactions/checkout#2305\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update README.md by \u003ca\nhref\u003d\"https://github.com/motss\"\u003e\u003ccode\u003e@​motss\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1971\"\u003eactions/checkout#1971\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd internal repos for checking out multiple repositories by \u003ca\nhref\u003d\"https://github.com/mouismail\"\u003e\u003ccode\u003e@​mouismail\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1977\"\u003eactions/checkout#1977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation update - add recommended permissions to Readme by \u003ca\nhref\u003d\"https://github.com/benwells\"\u003e\u003ccode\u003e@​benwells\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2043\"\u003eactions/checkout#2043\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust positioning of user email note and permissions heading by \u003ca\nhref\u003d\"https://github.com/joshmgross\"\u003e\u003ccode\u003e@​joshmgross\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2044\"\u003eactions/checkout#2044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README.md by \u003ca\nhref\u003d\"https://github.com/nebuk89\"\u003e\u003ccode\u003e@​nebuk89\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2194\"\u003eactions/checkout#2194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CODEOWNERS for actions by \u003ca\nhref\u003d\"https://github.com/TingluoHuang\"\u003e\u003ccode\u003e@​TingluoHuang\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2224\"\u003eactions/checkout#2224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate package dependencies by \u003ca\nhref\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2236\"\u003eactions/checkout#2236\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eurl-helper.ts\u003c/code\u003e now leverages well-known environment\nvariables by \u003ca href\u003d\"https://github.com/jww3\"\u003e\u003ccode\u003e@​jww3\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1941\"\u003eactions/checkout#1941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpand unit test coverage for \u003ccode\u003eisGhes\u003c/code\u003e by \u003ca\nhref\u003d\"https://github.com/jww3\"\u003e\u003ccode\u003e@​jww3\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1946\"\u003eactions/checkout#1946\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCheck out other refs/* by commit if provided, fall back to ref by \u003ca\nhref\u003d\"https://github.com/orhantoy\"\u003e\u003ccode\u003e@​orhantoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1924\"\u003eactions/checkout#1924\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0\"\u003e\u003ccode\u003e9c091bb\u003c/code\u003e\u003c/a\u003e\nupdate error wording (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2467\"\u003e#2467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/1044a6dea927916f2c38ba5aeffbc0a847b1221a\"\u003e\u003ccode\u003e1044a6d\u003c/code\u003e\u003c/a\u003e\ngetting ready for checkout v7 release (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2464\"\u003e#2464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/f0282184c7ce73ab54c7e4ab5a617122602e575f\"\u003e\u003ccode\u003ef028218\u003c/code\u003e\u003c/a\u003e\nBump the minor-npm-dependencies group across 1 directory with 3 updates\n(\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2462\"\u003e#2462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/d914b262ffc244530a203ab40decab34c3abf34d\"\u003e\u003ccode\u003ed914b26\u003c/code\u003e\u003c/a\u003e\nupgrade module to esm and update dependencies (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2463\"\u003e#2463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/537c7ef99cef6e5ddb5e7ff5d16d14510503801d\"\u003e\u003ccode\u003e537c7ef\u003c/code\u003e\u003c/a\u003e\nBump \u003ccode\u003e@​actions/core\u003c/code\u003e and \u003ccode\u003e@​actions/tool-cache\u003c/code\u003e\nand Remove uuid (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2459\"\u003e#2459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/130a169078a413d3a5246a393625e8e742f387f6\"\u003e\u003ccode\u003e130a169\u003c/code\u003e\u003c/a\u003e\nBump js-yaml from 4.1.0 to 4.2.0 (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2461\"\u003e#2461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/7d09575332117a40b46e5e020664df234cd416f3\"\u003e\u003ccode\u003e7d09575\u003c/code\u003e\u003c/a\u003e\nBump flatted from 3.3.1 to 3.4.2 (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2460\"\u003e#2460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/0f9f3aa320cb53abeb534aeb54048075d9697a0e\"\u003e\u003ccode\u003e0f9f3aa\u003c/code\u003e\u003c/a\u003e\nBump actions/publish-immutable-action (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2458\"\u003e#2458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/f9e715a95fcd1f9253f77dd28f11e88d2d6460c7\"\u003e\u003ccode\u003ef9e715a\u003c/code\u003e\u003c/a\u003e\nblock checking out fork pr for pull_request_target and workflow_run (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2454\"\u003e#2454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca\nhref\u003d\"https://github.com/actions/checkout/compare/df4cb1c069e1874edd31b4311f1884172cec0e10...9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dactions/checkout\u0026package-manager\u003dgithub_actions\u0026previous-version\u003d6.0.3\u0026new-version\u003d7.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "736220190fbe6a5161f37c9a51df98ebb4837ea0",
      "tree": "8e35e8e17ec57dba975e542d9c6838c5e0c5cce4",
      "parents": [
        "e1db75c64ff11daa1574df5d1bf565b46ae6ec6e"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Wed Jun 17 16:14:54 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 17 16:14:54 2026"
      },
      "message": "🐛 fix(seed): sync wheel regen script with seeder guard (#3175)"
    },
    {
      "commit": "e1db75c64ff11daa1574df5d1bf565b46ae6ec6e",
      "tree": "6051b69a37b31851a55eebd0d1aaf232e1e802c9",
      "parents": [
        "2bbb35c704dac0c816464da56da239cf2eeaf3a1"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Tue Jun 16 16:21:16 2026"
      },
      "committer": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Tue Jun 16 16:21:16 2026"
      },
      "message": "release 21.5.1"
    },
    {
      "commit": "2bbb35c704dac0c816464da56da239cf2eeaf3a1",
      "tree": "ec21332e7ae0ffcf090cd259aa21a6e70c2753cd",
      "parents": [
        "7042705b5f4eddbcace0830fcfd3bcfbddc25635"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Tue Jun 16 16:20:02 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 16 16:20:02 2026"
      },
      "message": "🐛 fix(seed): refuse to seed unsupported Python versions (#3173)\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "7042705b5f4eddbcace0830fcfd3bcfbddc25635",
      "tree": "c895f61c1e8357b996030c4bfd929806d6808d51",
      "parents": [
        "90735e08d69325adc25765ef3498df5fac334c07"
      ],
      "author": {
        "name": "pre-commit-ci[bot]",
        "email": "66853113+pre-commit-ci[bot]@users.noreply.github.com",
        "time": "Mon Jun 15 21:57:29 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 15 21:57:29 2026"
      },
      "message": "[pre-commit.ci] pre-commit autoupdate (#3172)\n\n\u003c!--pre-commit.ci start--\u003e\nupdates:\n- [github.com/python-jsonschema/check-jsonschema: 0.37.2 →\n0.37.3](https://github.com/python-jsonschema/check-jsonschema/compare/0.37.2...0.37.3)\n- [github.com/tox-dev/pyproject-fmt: v2.23.0 →\nv2.24.1](https://github.com/tox-dev/pyproject-fmt/compare/v2.23.0...v2.24.1)\n- [github.com/astral-sh/ruff-pre-commit: v0.15.16 →\nv0.15.17](https://github.com/astral-sh/ruff-pre-commit/compare/v0.15.16...v0.15.17)\n- [github.com/rbubley/mirrors-prettier: v3.8.3 →\nv3.8.4](https://github.com/rbubley/mirrors-prettier/compare/v3.8.3...v3.8.4)\n- [github.com/LilSpazJoekp/docstrfmt: v2.1.0 →\nv2.1.1](https://github.com/LilSpazJoekp/docstrfmt/compare/v2.1.0...v2.1.1)\n\u003c!--pre-commit.ci end--\u003e\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e\nCo-authored-by: Bernát Gábor \u003cgaborjbernat@gmail.com\u003e"
    },
    {
      "commit": "90735e08d69325adc25765ef3498df5fac334c07",
      "tree": "4c72775cdcc1333fb5378d93da2e4525ce4fa8e7",
      "parents": [
        "79ce906a2378e24c81a7b27ac506c73d5cc262d9"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Sat Jun 13 20:35:28 2026"
      },
      "committer": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Sat Jun 13 20:35:28 2026"
      },
      "message": "release 21.5.0"
    },
    {
      "commit": "79ce906a2378e24c81a7b27ac506c73d5cc262d9",
      "tree": "f4229f00335d8359ece4bbf758df1fd9a30387be",
      "parents": [
        "f1f4d687b12caac079d81ffc5ee50a16d1fabc1a"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Sat Jun 13 20:34:30 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 13 20:34:30 2026"
      },
      "message": "✨ feat: drop Python 3.8 support (#3170)\n\nCPython 3.8 reached end of life on 2024-10-07, more than 18 months ago,\nwhich meets the project policy for dropping a version. 🐍 virtualenv now\nrequires Python 3.9 or later, both to run and to create environments, so\nthis raises `requires-python` to `\u003e\u003d3.9` and clears the 3.8 entries out\nof the packaging metadata, CI matrix, and tox environments.\n\nvirtualenv bundled the embedded `wheel` seed package only for Python\n3.8, so dropping 3.8 lets me remove it outright: the `wheel` files, the\n`3.8` bundle entry (which also orphaned `pip-25.0.1` and\n`setuptools-75.3.4`), and the wheel handling in\n`tasks/upgrade_wheels.py`. Removing the only 3.8-specific creator code,\nthe macOS `__PYVENV_LAUNCHER__` patch that applied to CPython 3.8.0\nthrough 3.8.2, falls out of the same cleanup.\n\n`#3168` removed the orphaned `wheel-0.47.0` on its own; this supersedes\nit, so close that one once this merges. PR `#2884` restored\n`--wheel`/`--no-wheel` after an earlier removal broke Fedora and other\ndownstream callers, so I kept both flags as no-ops rather than repeat\nthat breakage. They now warn louder: the message states that virtualenv\nwill remove them in a release after 2026-12, giving downstream tooling a\ndeadline to stop passing them.\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "f1f4d687b12caac079d81ffc5ee50a16d1fabc1a",
      "tree": "55b17b08bd87b26421caa6082fdf048144600fe3",
      "parents": [
        "78df6f0873a89f8cc4ecb9378562e5eb74576e9f"
      ],
      "author": {
        "name": "github-actions[bot]",
        "email": "41898282+github-actions[bot]@users.noreply.github.com",
        "time": "Sat Jun 13 15:28:12 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 13 15:28:12 2026"
      },
      "message": "Upgrade embedded pip/setuptools/wheel (#3168)\n\nAutomated upgrade of embedded pip, setuptools, and wheel dependencies.\n\nThis PR was created automatically by the [upgrade\nworkflow](https://github.com/pypa/virtualenv/actions/workflows/upgrade.yaml).\n\nCo-authored-by: gaborbernat \u003c690238+gaborbernat@users.noreply.github.com\u003e"
    },
    {
      "commit": "78df6f0873a89f8cc4ecb9378562e5eb74576e9f",
      "tree": "a4dfe778d7db85a1e941b3a19ae10be63b2530e8",
      "parents": [
        "134b080fae08c8eac719750d21c3449d3aa02aaa"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Sat Jun 13 15:28:00 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 13 15:28:00 2026"
      },
      "message": "Set git identity in upgrade changelog rename step (#3169)\n\nThe scheduled `Upgrade embedded dependencies` workflow failed in its\n\"Rename changelog with PR number\" step with:\n\n```\nfatal: empty ident name (for \u003crunner@...\u003e) not allowed\n```\n\nThe `peter-evans/create-pull-request` action configures its own\ncommitter identity, but the follow-up step runs a bare `git commit` with\nno identity set on the runner, so it exits 128 (see [run\n27464646715](https://github.com/pypa/virtualenv/actions/runs/27464646715)).\n\nConfigure the `github-actions[bot]` identity (the same one\n`create-pull-request` uses) before committing the renamed changelog\nfragment."
    },
    {
      "commit": "134b080fae08c8eac719750d21c3449d3aa02aaa",
      "tree": "8ec929fb8c876cc449b728a72bf2a46bf3960139",
      "parents": [
        "2a36128bef8914ad006b49e5f1e2ca431dafa1cf"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Thu Jun 11 16:45:40 2026"
      },
      "committer": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Thu Jun 11 16:45:40 2026"
      },
      "message": "release 21.4.3"
    },
    {
      "commit": "2a36128bef8914ad006b49e5f1e2ca431dafa1cf",
      "tree": "ba6861b736ee925a56d8881b767f9ba752206bc9",
      "parents": [
        "5389c25cf4a1ee11ea55183d6daf4c8055dc3060"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Thu Jun 11 16:43:54 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 16:43:54 2026"
      },
      "message": "🐛 fix(discovery): resolve base interpreter executable-only symlinks (#3166)\n\nCreating an environment with `-p` pointing at a symlink to just the\ninterpreter binary recorded the symlink in `pyvenv.cfg`: `home` ended up\nas the symlink\u0027s directory, which contains no `lib/`, and\n`base-executable` kept the unresolved link. 🐛 Standard CPython survives\nbecause `getpath` re-resolves the link when reading `home`, but layouts\nwhere `home` must directly locate the base stdlib, such as\npython-build-standalone, produce a broken environment (#3157).\n\nThe resolution lives in python-discovery (tox-dev/python-discovery#85,\nrefined by tox-dev/python-discovery#87): `system_executable` follows the\nsymlink chain of the executable\u0027s final path component only, stopping as\nsoon as the stdlib landmark is reachable and never touching macOS\nframework builds, the same semantics CPython\u0027s `getpath` uses and its\n`venv` adopts in python/cpython#115237. A barren-directory symlink\nresolves to the real interpreter while stable aliases like Homebrew\u0027s\n`opt` paths, Debian\u0027s `/usr/bin/python3`, or a fully symlinked\ninterpreter tree keep their recorded form. This PR raises the dependency\nfloor to `python-discovery\u003e\u003d1.4.2` and bumps the app-data `py_info`\ncache key from `4` to `5` so interpreter records probed by older\nvirtualenv versions are not shared with the corrected ones.\n\nCI needs python-discovery `1.4.2` on PyPI (tox-dev/python-discovery#87\nmerge + release) to go green.\n\nFixes #3157."
    },
    {
      "commit": "5389c25cf4a1ee11ea55183d6daf4c8055dc3060",
      "tree": "15dec230d5fec01035a544ca29de06f16f840472",
      "parents": [
        "0134feeec7ba0bd1a6193dc6245934ee5e800774"
      ],
      "author": {
        "name": "Patrick Kleindienst",
        "email": "12052783+apophizzz@users.noreply.github.com",
        "time": "Thu Jun 11 14:47:17 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 14:47:17 2026"
      },
      "message": "Add wheel-0.47.0 to seed packages as mitigation of CVE-2026-24049 (#3167)\n\nHi!\n\nMe and my team ran into the issue that even with the latest version of\n`virtualenv` each venv gets seeded with `wheel 0.45.1`, which is\nvulnerable in terms of\n[CVE-2026-24049](https://nvd.nist.gov/vuln/detail/CVE-2026-24049).\nThis PR adds the most current version of the `wheel` package to the list\nof seeding packages at the time this PR was authored.\n\n---------\n\nCo-authored-by: Patrick Kleindienst \u003cPatrick.Kleindienst@ibm.com\u003e"
    },
    {
      "commit": "0134feeec7ba0bd1a6193dc6245934ee5e800774",
      "tree": "04c05114e84fc95d913afb20ec3c043c40c1ab4e",
      "parents": [
        "af1ed9fd10b67adbcfd9f9e542fdc5bfcdd6ea5b"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jun 10 14:52:32 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 10 14:52:32 2026"
      },
      "message": "chore(deps): bump astral-sh/setup-uv from 8.1.0 to 8.2.0 (#3165)\n\nBumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from\n8.1.0 to 8.2.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/releases\"\u003eastral-sh/setup-uv\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.2.0 🌈 New inputs \u003ccode\u003equiet\u003c/code\u003e and\n\u003ccode\u003edownload-from-astral-mirror\u003c/code\u003e\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eThis release brings two new inputs and a few bug fixes.\u003c/p\u003e\n\u003ch3\u003eNew inputs\u003c/h3\u003e\n\u003cp\u003eLets talk about the new inputs first.\u003c/p\u003e\n\u003ch4\u003equiet\u003c/h4\u003e\n\u003cp\u003ePretty simple. It turns of all \u003ccode\u003einfo\u003c/code\u003e loggings. Useful if\nyou use this in a composite action and are not interested in all the\ndetails.\nIn the upcoming releases we will add log groups to fully implement\nsupport for \u0026quot;less noise\u0026quot;\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\u003cbr /\u003e\nWarnings and errors are always logged.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch4\u003edownload-from-astral-mirror\u003c/h4\u003e\n\u003cp\u003eIn some cases you may want to directly use the fallback of checking\nfor available versions and downloading releases from GitHub instead of\nusing the astral.sh mirror. Setting \u003ccode\u003edownload-from-astral-mirror:\nfalse\u003c/code\u003e allows you to do that.\u003c/p\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cp\u003eWhen using the astral.sh mirror to query available versions and\ndownload releases (done by default) we now stop sending the GitHub token\nin the header. The mirror never looked at it but we shouldn\u0027t be handing\nout that data even if it is just a short lived token.\nAll other bugfixes try to limit the impact of failed GitHub queries due\nto retries and other faults.\u003c/p\u003e\n\u003cp\u003eWe couldn\u0027t pinpoint all rootcauses yet but added more logging for\nerror cases to track them down.\u003c/p\u003e\n\u003ch2\u003e🐛 Bug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: report unexpected cache save failures \u003ca\nhref\u003d\"https://github.com/eifinger\"\u003e\u003ccode\u003e@​eifinger\u003c/code\u003e\u003c/a\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/896\"\u003e#896\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: report unexpected setup failures \u003ca\nhref\u003d\"https://github.com/eifinger\"\u003e\u003ccode\u003e@​eifinger\u003c/code\u003e\u003c/a\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/895\"\u003e#895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add timeout to fetch to prevent silent hangs \u003ca\nhref\u003d\"https://github.com/eifinger-bot\"\u003e\u003ccode\u003e@​eifinger-bot\u003c/code\u003e\u003c/a\u003e\n(\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/883\"\u003e#883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLimit GitHub tokens to github.com download URLs \u003ca\nhref\u003d\"https://github.com/zsol\"\u003e\u003ccode\u003e@​zsol\u003c/code\u003e\u003c/a\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/878\"\u003e#878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eincrease libuv-workaround timeout to 100ms \u003ca\nhref\u003d\"https://github.com/eifinger\"\u003e\u003ccode\u003e@​eifinger\u003c/code\u003e\u003c/a\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/880\"\u003e#880\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🚀 Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd quiet input to suppress info-level log output \u003ca\nhref\u003d\"https://github.com/eifinger\"\u003e\u003ccode\u003e@​eifinger\u003c/code\u003e\u003c/a\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/898\"\u003e#898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add \u003ccode\u003edownload-from-astral-mirror\u003c/code\u003e input \u003ca\nhref\u003d\"https://github.com/eifinger\"\u003e\u003ccode\u003e@​eifinger\u003c/code\u003e\u003c/a\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/897\"\u003e#897\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update dependabot rollup biome guidance \u003ca\nhref\u003d\"https://github.com/eifinger\"\u003e\u003ccode\u003e@​eifinger\u003c/code\u003e\u003c/a\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/902\"\u003e#902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: update known checksums for 0.11.18 @\u003ca\nhref\u003d\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\n(\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/899\"\u003e#899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: update known checksums for 0.11.17 @\u003ca\nhref\u003d\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\n(\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/892\"\u003e#892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: update known checksums for 0.11.16 @\u003ca\nhref\u003d\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\n(\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/889\"\u003e#889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: update known checksums for 0.11.15 @\u003ca\nhref\u003d\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\n(\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/885\"\u003e#885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: update known checksums for 0.11.14 @\u003ca\nhref\u003d\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\n(\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/879\"\u003e#879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: update known checksums for 0.11.13 @\u003ca\nhref\u003d\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\n(\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/877\"\u003e#877\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/fac544c07dec837d0ccb6301d7b5580bf5edae39\"\u003e\u003ccode\u003efac544c\u003c/code\u003e\u003c/a\u003e\nchore(deps): roll up dependabot updates (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/903\"\u003e#903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/7390f777b051d6c47c9cb905ff80e7d5d85a7068\"\u003e\u003ccode\u003e7390f77\u003c/code\u003e\u003c/a\u003e\ndocs: update dependabot rollup biome guidance (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/902\"\u003e#902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/363c64a728451954156ddb9e3f368b879eeee5da\"\u003e\u003ccode\u003e363c64a\u003c/code\u003e\u003c/a\u003e\nchore(deps): roll up dependabot updates (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/901\"\u003e#901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/c4fcbafce4f941a09e04c45c42db7a2e3ba5cd91\"\u003e\u003ccode\u003ec4fcbaf\u003c/code\u003e\u003c/a\u003e\nchore(deps): bump release-drafter/release-drafter from 7.3.0 to 7.3.1\n(\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/900\"\u003e#900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/8e642c5e623b521f8b6b15bbc2ba54bae583fe45\"\u003e\u003ccode\u003e8e642c5\u003c/code\u003e\u003c/a\u003e\nchore: update known checksums for 0.11.18 (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/899\"\u003e#899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/a92cb430984b4b2b34c9c47e020cf035089958fa\"\u003e\u003ccode\u003ea92cb43\u003c/code\u003e\u003c/a\u003e\nAdd quiet input to suppress info-level log output (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/898\"\u003e#898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/e07f2ac4b796a5fa8dc51ebf0a5187d0463eb4d6\"\u003e\u003ccode\u003ee07f2ac\u003c/code\u003e\u003c/a\u003e\nchore(deps): bump eifinger/actionlint-action from 1.10.1 to 1.10.2 (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/842\"\u003e#842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/bc4034eedf3a6f77238660a28089c6b201eae39f\"\u003e\u003ccode\u003ebc4034e\u003c/code\u003e\u003c/a\u003e\nchore(deps): bump github/codeql-action from 4.35.4 to 4.36.0 (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/893\"\u003e#893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/df42d4f6ba41cdcf6eda832c32439db37cc28b39\"\u003e\u003ccode\u003edf42d4f\u003c/code\u003e\u003c/a\u003e\nchore(deps): bump zizmorcore/zizmor-action from 0.5.5 to 0.5.6 (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/891\"\u003e#891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/commit/b9c8c4c7baf912cbda30843477d08b3f63b0f660\"\u003e\u003ccode\u003eb9c8c4c\u003c/code\u003e\u003c/a\u003e\nfeat: add \u003ccode\u003edownload-from-astral-mirror\u003c/code\u003e input (\u003ca\nhref\u003d\"https://redirect.github.com/astral-sh/setup-uv/issues/897\"\u003e#897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/astral-sh/setup-uv/compare/08807647e7069bb48b6ef5acd8ec9567f424441b...fac544c07dec837d0ccb6301d7b5580bf5edae39\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dastral-sh/setup-uv\u0026package-manager\u003dgithub_actions\u0026previous-version\u003d8.1.0\u0026new-version\u003d8.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "af1ed9fd10b67adbcfd9f9e542fdc5bfcdd6ea5b",
      "tree": "6dcd7e8ebc18f1943763a1d4f6bddbefe8425d28",
      "parents": [
        "1b00ec8d284752f893e63fc752535cd7dc14b0c8"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Jun 09 00:30:39 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 00:30:39 2026"
      },
      "message": "chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 (#3164)\n\nBumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2\nto 6.0.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/actions/checkout/releases\"\u003eactions/checkout\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.0.3\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate changelog by \u003ca\nhref\u003d\"https://github.com/ericsciple\"\u003e\u003ccode\u003e@​ericsciple\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2357\"\u003eactions/checkout#2357\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: expand merge commit SHA regex and add SHA-256 test cases by \u003ca\nhref\u003d\"https://github.com/yaananth\"\u003e\u003ccode\u003e@​yaananth\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2414\"\u003eactions/checkout#2414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix checkout init for SHA-256 repositories by \u003ca\nhref\u003d\"https://github.com/yaananth\"\u003e\u003ccode\u003e@​yaananth\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2439\"\u003eactions/checkout#2439\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate changelog for v6.0.3 by \u003ca\nhref\u003d\"https://github.com/yaananth\"\u003e\u003ccode\u003e@​yaananth\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2446\"\u003eactions/checkout#2446\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/yaananth\"\u003e\u003ccode\u003e@​yaananth\u003c/code\u003e\u003c/a\u003e\nmade their first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2414\"\u003eactions/checkout#2414\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/actions/checkout/compare/v6...v6.0.3\"\u003ehttps://github.com/actions/checkout/compare/v6...v6.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/actions/checkout/blob/main/CHANGELOG.md\"\u003eactions/checkout\u0027s\nchangelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003ev6.0.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix checkout init for SHA-256 repositories by \u003ca\nhref\u003d\"https://github.com/yaananth\"\u003e\u003ccode\u003e@​yaananth\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2439\"\u003eactions/checkout#2439\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: expand merge commit SHA regex and add SHA-256 test cases by \u003ca\nhref\u003d\"https://github.com/yaananth\"\u003e\u003ccode\u003e@​yaananth\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2414\"\u003eactions/checkout#2414\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix tag handling: preserve annotations and explicit fetch-tags by \u003ca\nhref\u003d\"https://github.com/ericsciple\"\u003e\u003ccode\u003e@​ericsciple\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2356\"\u003eactions/checkout#2356\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd worktree support for persist-credentials includeIf by \u003ca\nhref\u003d\"https://github.com/ericsciple\"\u003e\u003ccode\u003e@​ericsciple\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2327\"\u003eactions/checkout#2327\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePersist creds to a separate file by \u003ca\nhref\u003d\"https://github.com/ericsciple\"\u003e\u003ccode\u003e@​ericsciple\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2286\"\u003eactions/checkout#2286\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README to include Node.js 24 support details and requirements\nby \u003ca href\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2248\"\u003eactions/checkout#2248\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePort v6 cleanup to v5 by \u003ca\nhref\u003d\"https://github.com/ericsciple\"\u003e\u003ccode\u003e@​ericsciple\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2301\"\u003eactions/checkout#2301\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate actions checkout to use node 24 by \u003ca\nhref\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2226\"\u003eactions/checkout#2226\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.3.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePort v6 cleanup to v4 by \u003ca\nhref\u003d\"https://github.com/ericsciple\"\u003e\u003ccode\u003e@​ericsciple\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2305\"\u003eactions/checkout#2305\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update README.md by \u003ca\nhref\u003d\"https://github.com/motss\"\u003e\u003ccode\u003e@​motss\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1971\"\u003eactions/checkout#1971\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd internal repos for checking out multiple repositories by \u003ca\nhref\u003d\"https://github.com/mouismail\"\u003e\u003ccode\u003e@​mouismail\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1977\"\u003eactions/checkout#1977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation update - add recommended permissions to Readme by \u003ca\nhref\u003d\"https://github.com/benwells\"\u003e\u003ccode\u003e@​benwells\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2043\"\u003eactions/checkout#2043\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust positioning of user email note and permissions heading by \u003ca\nhref\u003d\"https://github.com/joshmgross\"\u003e\u003ccode\u003e@​joshmgross\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2044\"\u003eactions/checkout#2044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README.md by \u003ca\nhref\u003d\"https://github.com/nebuk89\"\u003e\u003ccode\u003e@​nebuk89\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2194\"\u003eactions/checkout#2194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CODEOWNERS for actions by \u003ca\nhref\u003d\"https://github.com/TingluoHuang\"\u003e\u003ccode\u003e@​TingluoHuang\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2224\"\u003eactions/checkout#2224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate package dependencies by \u003ca\nhref\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2236\"\u003eactions/checkout#2236\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eurl-helper.ts\u003c/code\u003e now leverages well-known environment\nvariables by \u003ca href\u003d\"https://github.com/jww3\"\u003e\u003ccode\u003e@​jww3\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1941\"\u003eactions/checkout#1941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpand unit test coverage for \u003ccode\u003eisGhes\u003c/code\u003e by \u003ca\nhref\u003d\"https://github.com/jww3\"\u003e\u003ccode\u003e@​jww3\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1946\"\u003eactions/checkout#1946\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCheck out other refs/* by commit if provided, fall back to ref by \u003ca\nhref\u003d\"https://github.com/orhantoy\"\u003e\u003ccode\u003e@​orhantoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1924\"\u003eactions/checkout#1924\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Ref and Commit outputs by \u003ca\nhref\u003d\"https://github.com/lucacome\"\u003e\u003ccode\u003e@​lucacome\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1180\"\u003eactions/checkout#1180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDependency updates by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e- \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1777\"\u003eactions/checkout#1777\u003c/a\u003e,\n\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1872\"\u003eactions/checkout#1872\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump the minor-npm-dependencies group across 1 directory with 4\nupdates by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1739\"\u003eactions/checkout#1739\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 3 to 4 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1697\"\u003eactions/checkout#1697\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck out other refs/* by commit by \u003ca\nhref\u003d\"https://github.com/orhantoy\"\u003e\u003ccode\u003e@​orhantoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1774\"\u003eactions/checkout#1774\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/df4cb1c069e1874edd31b4311f1884172cec0e10\"\u003e\u003ccode\u003edf4cb1c\u003c/code\u003e\u003c/a\u003e\nUpdate changelog for v6.0.3 (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2446\"\u003e#2446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/1cce3390c2bfda521930d01229c073c7ff920824\"\u003e\u003ccode\u003e1cce339\u003c/code\u003e\u003c/a\u003e\nFix checkout init for SHA-256 repositories (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2439\"\u003e#2439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/900f2210b1d28bbbd0bd22d17926b9e224e8f231\"\u003e\u003ccode\u003e900f221\u003c/code\u003e\u003c/a\u003e\nfix: expand merge commit SHA regex and add SHA-256 test cases (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2414\"\u003e#2414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/0c366fd6a839edf440554fa01a7085ccba70ac98\"\u003e\u003ccode\u003e0c366fd\u003c/code\u003e\u003c/a\u003e\nUpdate changelog (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2357\"\u003e#2357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca\nhref\u003d\"https://github.com/actions/checkout/compare/de0fac2e4500dabe0009e67214ff5f5447ce83dd...df4cb1c069e1874edd31b4311f1884172cec0e10\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dactions/checkout\u0026package-manager\u003dgithub_actions\u0026previous-version\u003d6.0.2\u0026new-version\u003d6.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "1b00ec8d284752f893e63fc752535cd7dc14b0c8",
      "tree": "4c22c852306332c2754def76fe6fa0696454901f",
      "parents": [
        "ce9729edbfc5b2f5fa2800def1ccc8e7c2d0f0be"
      ],
      "author": {
        "name": "pre-commit-ci[bot]",
        "email": "66853113+pre-commit-ci[bot]@users.noreply.github.com",
        "time": "Mon Jun 08 22:46:18 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 22:46:18 2026"
      },
      "message": "[pre-commit.ci] pre-commit autoupdate (#3163)"
    },
    {
      "commit": "ce9729edbfc5b2f5fa2800def1ccc8e7c2d0f0be",
      "tree": "ca0c4ecad8a0650ec6c34bb2ba026364b503f782",
      "parents": [
        "9e6f59fb2fbd96aba220f5858ae7114aeb353c65"
      ],
      "author": {
        "name": "Karl Hill",
        "email": "karlhillx@gmail.com",
        "time": "Mon Jun 08 17:40:50 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 17:40:50 2026"
      },
      "message": "Stop exporting PS1 in bash activator (#3162)\n\nCloses #3158.\n\n`PS1` is shell-local prompt state. The bash activator now updates it\nwithout exporting it, so child processes do not inherit prompt text\nduring activation or after deactivation.\n\nTests:\n- `.tox/3.14/bin/python -m pytest tests/unit/activation/test_bash.py -q`"
    },
    {
      "commit": "9e6f59fb2fbd96aba220f5858ae7114aeb353c65",
      "tree": "ffc781ede79b7140a73985093602896aef8f5b9b",
      "parents": [
        "a423028aa00bccb071efb72469f4dc0f05b27cfa"
      ],
      "author": {
        "name": "LuNoX",
        "email": "maillunox@gmail.com",
        "time": "Mon Jun 08 17:40:45 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 17:40:45 2026"
      },
      "message": "Fish activator passes VIRTUAL_ENV through cygpath (#3161)\n\nCloses #3160. Sourcing activate.fish from fish run inside MSYS2 (or\nsimilar) breaks the PATH because of a path style mismatch. This PR\napplies the changes from #1970 as well as the change to using uname from\n#3036 to the fish template as well.\n\n### Thanks for contributing, make sure you address all the checklists\n(for details on how see [development\ndocumentation](https://virtualenv.pypa.io/en/latest/development.html#development))\n\n- [ ] ran the linter to address style issues (`tox -e fix`)\n- [x] wrote descriptive pull request text\n- [ ] ensured there are test(s) validating the fix\n- [x] added news fragment in `docs/changelog` folder\n- [ ] updated/extended the documentation\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "a423028aa00bccb071efb72469f4dc0f05b27cfa",
      "tree": "309c4e84a153ab18cb9d6b1fefadb5d80f5bc382",
      "parents": [
        "f838c2120a0399dd2e2dec1ff38218672c7c8af8"
      ],
      "author": {
        "name": "pre-commit-ci[bot]",
        "email": "66853113+pre-commit-ci[bot]@users.noreply.github.com",
        "time": "Mon Jun 01 19:26:09 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 19:26:09 2026"
      },
      "message": "[pre-commit.ci] pre-commit autoupdate (#3156)"
    },
    {
      "commit": "f838c2120a0399dd2e2dec1ff38218672c7c8af8",
      "tree": "7043b5305fb237e9654db6e2c7c2d7adde7a9f6d",
      "parents": [
        "7c1d328e9bd9ead9a9e9dfa0bfba76ff90808e2e"
      ],
      "author": {
        "name": "github-actions[bot]",
        "email": "41898282+github-actions[bot]@users.noreply.github.com",
        "time": "Mon Jun 01 17:16:47 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 17:16:47 2026"
      },
      "message": "Upgrade embedded pip/setuptools/wheel (#3155)\n\nAutomated upgrade of embedded pip, setuptools, and wheel dependencies.\n\nThis PR was created automatically by the [upgrade\nworkflow](https://github.com/pypa/virtualenv/actions/workflows/upgrade.yaml).\n\n---------\n\nCo-authored-by: gaborbernat \u003c690238+gaborbernat@users.noreply.github.com\u003e\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "7c1d328e9bd9ead9a9e9dfa0bfba76ff90808e2e",
      "tree": "62513948f424adecd0a97b31567d0ecaae7b158a",
      "parents": [
        "3cf1a29a24ad7f93ecd2db8c7fbbf454a3607694"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Mon Jun 01 04:18:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 04:18:08 2026"
      },
      "message": "ci: silence avoidable check workflow notices (#3154)\n\nCleans up the avoidable warnings/notices on the `🧪 check` workflow.\n\n- **Windows redirect notice** — opt into `windows-2025-vs2026` (the\nimage GitHub is migrating `windows-2025` to by 2026-06-15), silencing\nthe per-job redirect notice.\n- **pip version-check notice** — promote\n`PIP_DISABLE_PIP_VERSION_CHECK\u003d1` to job-level `env` so the setup step\n(which installs via pip) and test subprocesses inherit it, not just the\nrun-test step.\n- **brew already-installed notice** — `brew list --versions … || brew\ninstall …` instead of `install || upgrade`, so it no-ops silently when\nthe runner already ships that Python.\n\nLeft as-is:\n- **`Cache entry deserialization failed`** — a spurious warning from pip\n26.1.1, the wheel virtualenv bundles and seeds. It\u0027s an upstream pip\nregression (fixed in https://github.com/pypa/pip/pull/14012, not yet\nreleased); harmless and clears itself once the bundled pip is upgraded.\n- **`Failed to resolve action download info` / DNS errors** — transient\nrunner network blips, not controllable here.\n\nNo changelog entry — CI-only change."
    },
    {
      "commit": "3cf1a29a24ad7f93ecd2db8c7fbbf454a3607694",
      "tree": "1c3b3b27347f5f3c9c47f706c16b7ae31c166823",
      "parents": [
        "b724203e38ca810dc682126435c3ba756a8bd943"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Sun May 31 17:00:05 2026"
      },
      "committer": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Sun May 31 17:00:05 2026"
      },
      "message": "release 21.4.2"
    },
    {
      "commit": "b724203e38ca810dc682126435c3ba756a8bd943",
      "tree": "bc8afbdf131e517bf33aece6fc71b8bec6a2cee5",
      "parents": [
        "e88f194c574fba787a9f44a0568042974d45a539"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Sun May 31 16:46:04 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 31 16:46:04 2026"
      },
      "message": "🐛 fix(activation): silence deactivate hash -r under set -e (#3152)\n\nSourcing the bash/zsh activation script and later running `deactivate`\ncould abort the shell when strict mode is on. 🐚 Under `set -euo\npipefail` with shell command hashing disabled (`set +h`), the `hash -r`\ncall inside `deactivate()` returns non-zero, and `2\u003e/dev/null` only\nhides its stderr, not its exit status, so the failing command tears down\nthe session.\n\nThe `deactivate()` call now appends `|| true`, the same guard the\ntrailing activation-time `hash -r` already carried. This brings the two\n`hash -r` sites into line and mirrors the equivalent CPython `venv`\nchange in gh-149701.\n\nThe fix is confined to the bash/zsh activator; behavior under non-strict\nshells is unchanged since `hash -r` already succeeded there.\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "e88f194c574fba787a9f44a0568042974d45a539",
      "tree": "67a2f5b619f7e780ba538cf7a590c03cd0eb54c2",
      "parents": [
        "6a2d79cd8077035a8a9d08b8501975eead13b496"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Thu May 28 04:11:34 2026"
      },
      "committer": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Thu May 28 04:11:34 2026"
      },
      "message": "release 21.4.1"
    },
    {
      "commit": "6a2d79cd8077035a8a9d08b8501975eead13b496",
      "tree": "502b9229178b476697e546a955fd68a0ed040c42",
      "parents": [
        "30bcf62a65d262b85f3272a7f9b91397f712a13b"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Thu May 28 04:10:29 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 28 04:10:29 2026"
      },
      "message": "🐛 fix(create): debug build venvlauncher lookup on Windows 3.13+ (#3151)"
    },
    {
      "commit": "30bcf62a65d262b85f3272a7f9b91397f712a13b",
      "tree": "a5e0ae5f492f196d74924ac29512da94c53393af",
      "parents": [
        "61434984154e4474c478301e433071efd880ad8c"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Thu May 28 01:23:58 2026"
      },
      "committer": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Thu May 28 01:23:58 2026"
      },
      "message": "release 21.4.0"
    },
    {
      "commit": "61434984154e4474c478301e433071efd880ad8c",
      "tree": "5bb274dd37591a8288e7782e1abdd8d155178906",
      "parents": [
        "ceaf88f8736c253ca71d155bb08b8475deebda02"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Thu May 28 01:22:59 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 28 01:22:59 2026"
      },
      "message": "✨ feat(create): support Windows debug builds and remove dead code (#3150)"
    },
    {
      "commit": "ceaf88f8736c253ca71d155bb08b8475deebda02",
      "tree": "2cb65e6c4a2d0e0c422c9ddb922f7f074ed382bd",
      "parents": [
        "d423ddcce98ad1c5b4529d2c9e947a7ccf09a968"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Wed May 27 21:52:52 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 27 21:52:52 2026"
      },
      "message": "♻️ refactor(create): remove dead code and document droppable paths (#3149)\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "d423ddcce98ad1c5b4529d2c9e947a7ccf09a968",
      "tree": "66c61e61425964389147008a26415323086e6713",
      "parents": [
        "f4a793600df5a660190fb55c57b9eed84fb09d68"
      ],
      "author": {
        "name": "pre-commit-ci[bot]",
        "email": "66853113+pre-commit-ci[bot]@users.noreply.github.com",
        "time": "Wed May 27 18:05:50 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 27 18:05:50 2026"
      },
      "message": "[pre-commit.ci] pre-commit autoupdate (#3148)\n\nCo-authored-by: Bernát Gábor \u003cbgabor8@bloomberg.net\u003e"
    },
    {
      "commit": "f4a793600df5a660190fb55c57b9eed84fb09d68",
      "tree": "d4f615de3c807bc717bdc76397b04da80ffeec09",
      "parents": [
        "7189e8e018f3390f6ce217f2fe21a55af26f441e"
      ],
      "author": {
        "name": "Tian Teng",
        "email": "tengtianmoemoe@gmail.com",
        "time": "Wed May 27 15:56:27 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 27 15:56:27 2026"
      },
      "message": "Fix Mermaid flowchart rendering (#3147)"
    },
    {
      "commit": "7189e8e018f3390f6ce217f2fe21a55af26f441e",
      "tree": "1d052442cd9e82f60f4b1cbe306ec24052fef442",
      "parents": [
        "e6dba2a503560c1561258770ade4d15529c4db3d"
      ],
      "author": {
        "name": "pre-commit-ci[bot]",
        "email": "66853113+pre-commit-ci[bot]@users.noreply.github.com",
        "time": "Tue May 19 03:27:29 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 19 03:27:29 2026"
      },
      "message": "[pre-commit.ci] pre-commit autoupdate (#3145)\n\n\u003c!--pre-commit.ci start--\u003e\nupdates:\n- [github.com/astral-sh/ruff-pre-commit: v0.15.12 →\nv0.15.13](https://github.com/astral-sh/ruff-pre-commit/compare/v0.15.12...v0.15.13)\n- [github.com/zizmorcore/zizmor-pre-commit: v1.24.1 →\nv1.25.2](https://github.com/zizmorcore/zizmor-pre-commit/compare/v1.24.1...v1.25.2)\n\u003c!--pre-commit.ci end--\u003e\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "e6dba2a503560c1561258770ade4d15529c4db3d",
      "tree": "166cc6eb0b75cfc38df0c56d3d8b9e9f1a3e4eb7",
      "parents": [
        "e7517c0e56c159946374c2fed8fb874fd3bde94f"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Wed May 13 17:59:43 2026"
      },
      "committer": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Wed May 13 17:59:43 2026"
      },
      "message": "release 21.3.3"
    },
    {
      "commit": "e7517c0e56c159946374c2fed8fb874fd3bde94f",
      "tree": "61a37890edf2c55d1b81af68e8c6cc89607eaf2e",
      "parents": [
        "8531d47ff3e78492d0c1eb7d1159750e91176b67"
      ],
      "author": {
        "name": "Tim Felgentreff",
        "email": "tim.felgentreff@oracle.com",
        "time": "Wed May 13 17:58:42 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 17:58:42 2026"
      },
      "message": "Accept GraalPy implementation name. (#3144)\n\nWith the latest python-discover release, GraalPy names are normalized to\nGraalPy, instead of GraalVM, so virtualenv needs to be adapted.\n\n### Thanks for contributing, make sure you address all the checklists\n(for details on how see [development\ndocumentation](https://virtualenv.pypa.io/en/latest/development.html#development))\n\n- [x] ran the linter to address style issues (`tox -e fix`)\n- [x] wrote descriptive pull request text\n- [x] ensured there are test(s) validating the fix\n- [x] added news fragment in `docs/changelog` folder \n- [x] updated/extended the documentation (not needed)"
    },
    {
      "commit": "8531d47ff3e78492d0c1eb7d1159750e91176b67",
      "tree": "103ae4be01756be945d0fc18fffba23ba2c82a61",
      "parents": [
        "afefada9505d4fe67805244c31c5761e4c6c2622"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Tue May 12 14:42:32 2026"
      },
      "committer": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Tue May 12 14:42:32 2026"
      },
      "message": "release 21.3.2"
    },
    {
      "commit": "afefada9505d4fe67805244c31c5761e4c6c2622",
      "tree": "d6677ad4d0a8c996d0db4890429912aba91e15d9",
      "parents": [
        "7e270411ebf5739dfc63998a9084dc2bfd2d467b"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Tue May 12 14:41:18 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 12 14:41:18 2026"
      },
      "message": "🐛 fix(upgrade): regen embedded init with correct MAX and 3.16 (#3143)\n\nThe daily `Upgrade embedded dependencies` workflow keeps regenerating\n`src/virtualenv/seed/wheels/embed/__init__.py` with `MAX \u003d \"3.8\"` and\ndropping the `3.16` entry — both of which had to be hand-patched in\n#3140 on top of the auto-PR. The script is the source of the regression,\nso patching the generated file alone leaves the next cron run free to\nundo the fix again. 🔁\n\nThe `MAX` substitution in `render_init` was reading the first key of the\nordered support table, which is always the lowest Python version, so it\nbaked `MAX \u003d \u00273.8\u0027` into the rendered module on every regen. Emit the\nruntime expression `next(reversed(BUNDLE_SUPPORT))` as literal text in\nthe template instead, so the rendered module evaluates it at import time\nand always points at the highest supported version regardless of what\nthe table contains.\n\nThe `SUPPORT` range stopped at `3.15`, which is why each regen also\ndropped the `3.16` entry. Extend the range through `3.16` so the\ngenerated table covers the versions we already ship wheels for.\n\nNo runtime behavior changes for users — this only affects what the regen\ntask writes, so no changelog fragment is needed."
    },
    {
      "commit": "7e270411ebf5739dfc63998a9084dc2bfd2d467b",
      "tree": "90ea2194f2b346604c4e012b99a5ccaa81eeb8f4",
      "parents": [
        "214934c9606ef792e42580109cbdff940a62f034"
      ],
      "author": {
        "name": "pre-commit-ci[bot]",
        "email": "66853113+pre-commit-ci[bot]@users.noreply.github.com",
        "time": "Mon May 11 19:56:46 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 19:56:46 2026"
      },
      "message": "[pre-commit.ci] pre-commit autoupdate (#3141)\n\n\u003c!--pre-commit.ci start--\u003e\nupdates:\n- [github.com/tox-dev/tox-toml-fmt: v1.9.2 →\nv1.9.3](https://github.com/tox-dev/tox-toml-fmt/compare/v1.9.2...v1.9.3)\n- [github.com/tox-dev/pyproject-fmt: v2.21.1 →\nv2.21.2](https://github.com/tox-dev/pyproject-fmt/compare/v2.21.1...v2.21.2)\n\u003c!--pre-commit.ci end--\u003e\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "214934c9606ef792e42580109cbdff940a62f034",
      "tree": "0daac1de329dcb967fc82e583234772ea22b4d0d",
      "parents": [
        "12ab4957289c1963849bf04a5f35982c928c0a35"
      ],
      "author": {
        "name": "anthony sottile",
        "email": "asottile@umich.edu",
        "time": "Mon May 11 18:19:11 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 18:19:11 2026"
      },
      "message": "add 3.16 to embedded wheel versions (#3140)"
    },
    {
      "commit": "12ab4957289c1963849bf04a5f35982c928c0a35",
      "tree": "7fab6ed4e32137e64eeaf2d4f7fca64c8c4efc3f",
      "parents": [
        "22eadc4d2738af7e96d744369a7f40df34935c94"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Tue May 05 01:32:57 2026"
      },
      "committer": {
        "name": "Bernát Gábor",
        "email": "690238+gaborbernat@users.noreply.github.com",
        "time": "Tue May 05 01:32:57 2026"
      },
      "message": "release 21.3.1"
    },
    {
      "commit": "22eadc4d2738af7e96d744369a7f40df34935c94",
      "tree": "fa564bebf9757d9c180e7b0b19271fabb58d7cff",
      "parents": [
        "6651dafd919c745adca1e29e31e1d96a1c9e9e52"
      ],
      "author": {
        "name": "pre-commit-ci[bot]",
        "email": "66853113+pre-commit-ci[bot]@users.noreply.github.com",
        "time": "Tue May 05 01:32:02 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 01:32:02 2026"
      },
      "message": "[pre-commit.ci] pre-commit autoupdate (#3137)\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e\nCo-authored-by: Bernát Gábor \u003cgaborjbernat@gmail.com\u003e"
    },
    {
      "commit": "6651dafd919c745adca1e29e31e1d96a1c9e9e52",
      "tree": "74c37a8d7c355727cbfd71dac4bb18c2bb7dde9c",
      "parents": [
        "936a36ae63eb8c68123cf9e23824f68aa9ac51b1"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Tue May 05 01:31:48 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 01:31:48 2026"
      },
      "message": "🐛 fix(seed): bump embedded pip to 26.1.1 (#3138)\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "936a36ae63eb8c68123cf9e23824f68aa9ac51b1",
      "tree": "de3fe3290ceca4214e006b936d6fdf55c558d2d0",
      "parents": [
        "cb5a7d1820871cf26e370c6a954e48326ddd6c57"
      ],
      "author": {
        "name": "Bernát Gábor",
        "email": "gaborjbernat@gmail.com",
        "time": "Tue May 05 01:31:37 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 01:31:37 2026"
      },
      "message": "👷 ci: retry transient apt failures on Linux (#3139)"
    },
    {
      "commit": "cb5a7d1820871cf26e370c6a954e48326ddd6c57",
      "tree": "a62de4aad959c732e09490a3046eac2cf1caab4a",
      "parents": [
        "e917cc244e659160607c890de2cbad3a7bc2a28c"
      ],
      "author": {
        "name": "pre-commit-ci[bot]",
        "email": "66853113+pre-commit-ci[bot]@users.noreply.github.com",
        "time": "Wed Apr 29 08:03:58 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 29 08:03:58 2026"
      },
      "message": "[pre-commit.ci] pre-commit autoupdate (#3133)\n\nCo-authored-by: pre-commit-ci[bot] \u003c66853113+pre-commit-ci[bot]@users.noreply.github.com\u003e"
    }
  ],
  "next": "e917cc244e659160607c890de2cbad3a7bc2a28c"
}
