Support free threaded Python versions like '3.13t' by @colesbury in #973
Enhance Workflows: Include ubuntu-arm runners, Add e2e Testing for free threaded and Upgrade @action/cache from 4.0.0 to 4.0.3 by @priya-kinthali in #1056
Add .zip extension to Windows package downloads for Expand-Archive Compatibility by @priyagupta108 in #916
This addresses compatibility issues on Windows self-hosted runners by ensuring that the filenames for Python and PyPy package downloads explicitly include the .zip extension, allowing the Expand-Archive command to function correctly.
Add arch to cache key by @Zxilly in #896
This addresses issues with caching by adding the architecture (arch) to the cache key, ensuring that cache keys are accurate to prevent conflicts.
Note: This change may break previous cache keys as they will no longer be compatible with the new format.
fix(ci): update all failing workflows by @mayeut in #863
This update ensures compatibility and optimal performance of workflows on the latest macOS version.
Leveraging the raw API to retrieve the version-manifest, as it does not impose a rate limit and hence facilitates unrestricted consumption without the need for a token for Github Enterprise Servers by @Shegox in #766.
Upgrade actions/cache to 4.0.3 by @priya-kinthali in #1073
In scope of this release we updated actions/cache package to ensure continued support and compatibility, as older versions of the package are now deprecated. For more information please refer to the toolkit/cache.
In scope of this release we fixed cache issue for Poetry projects located in subfolders (#446). Besides that we updated json5 version from 2.2.0 to 2.2.3 (#579).
v4.4.0: Add support to install multiple python versions
In scope of this release we add the check-latest input. If check-latest is set to true, the action first checks if the cached version is the latest one. If the locally cached version is not the most up-to-date, the version will then be downloaded from python-versions repository. By default check-latest is set to false. For PyPy it will to try to reach https://downloads.python.org/pypy/versions.json
In scope of this pull request we updated actions/cache package as the new version contains fixes for caching error handling. Moreover, we added a new input update-environment. This option allows to specify if the action shall update environment variables (default) or not.
- uses:actions/setup-python@v4with:python-version-file:'.python-version'# Read python version from a file- run:python my_script.py
There is no default python version for this setup-python major version, the action requires to specify either python-version input or python-version-file input. If the python-version input is not specified the action will try to read required version from file from python-version-file input.
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [actions/setup-python](https://github.com/actions/setup-python) | action | major | `v3` → `v6` |
---
### Release Notes
<details>
<summary>actions/setup-python (actions/setup-python)</summary>
### [`v6.3.0`](https://github.com/actions/setup-python/releases/tag/v6.3.0)
[Compare Source](https://github.com/actions/setup-python/compare/v6.2.0...v6.3.0)
#### What's Changed
##### Enhancement
- Add RHEL support and include Linux distro in cache keys by [@​priyagupta108](https://github.com/priyagupta108) in [#​1323](https://github.com/actions/setup-python/pull/1323)
- Fix pip cache error handling on Windows by [@​priyagupta108](https://github.com/priyagupta108) in [#​1040](https://github.com/actions/setup-python/pull/1040)
##### Dependency update
- Upgrade minimatch from 3.1.2 to 3.1.5 by [@​dependabot](https://github.com/dependabot) in [#​1281](https://github.com/actions/setup-python/pull/1281)
- Upgrade actions dependencies by [@​gowridurgad](https://github.com/gowridurgad) with [@​Copilot](https://github.com/Copilot) in [#​1303](https://github.com/actions/setup-python/pull/1303)
- Upgrade [@​actions/cache](https://github.com/actions/cache) to 5.1.0, log cache write denied by [@​jasongin](https://github.com/jasongin) in [#​1324](https://github.com/actions/setup-python/pull/1324)
- Upgrade dependency versions and test workflow configuration by [@​HarithaVattikuti](https://github.com/HarithaVattikuti) in [#​1322](https://github.com/actions/setup-python/pull/1322)
##### Documentation
- Update advanced-usage.md by [@​Dunky-Z](https://github.com/Dunky-Z) in [#​811](https://github.com/actions/setup-python/pull/811)
#### New Contributors
- [@​gowridurgad](https://github.com/gowridurgad) with [@​Copilot](https://github.com/Copilot) made their first contribution in [#​1303](https://github.com/actions/setup-python/pull/1303)
- [@​jasongin](https://github.com/jasongin) made their first contribution in [#​1324](https://github.com/actions/setup-python/pull/1324)
- [@​Dunky-Z](https://github.com/Dunky-Z) made their first contribution in [#​811](https://github.com/actions/setup-python/pull/811)
**Full Changelog**: <https://github.com/actions/setup-python/compare/v6.2.0...v6.3.0>
### [`v6.2.0`](https://github.com/actions/setup-python/releases/tag/v6.2.0)
[Compare Source](https://github.com/actions/setup-python/compare/v6.1.0...v6.2.0)
#### What's Changed
##### Dependency Upgrades
- Upgrade dependencies to Node 24 compatible versions by [@​salmanmkc](https://github.com/salmanmkc) in [#​1259](https://github.com/actions/setup-python/pull/1259)
- Upgrade urllib3 from 2.5.0 to 2.6.3 in `/__tests__/data` by [@​dependabot](https://github.com/dependabot) in [#​1253](https://github.com/actions/setup-python/pull/1253) and [#​1264](https://github.com/actions/setup-python/pull/1264)
**Full Changelog**: <https://github.com/actions/setup-python/compare/v6...v6.2.0>
### [`v6.1.0`](https://github.com/actions/setup-python/releases/tag/v6.1.0)
[Compare Source](https://github.com/actions/setup-python/compare/v6...v6.1.0)
#### What's Changed
##### Enhancements:
- Add support for `pip-install` input by [@​gowridurgad](https://github.com/gowridurgad) in [#​1201](https://github.com/actions/setup-python/pull/1201)
- Add graalpy early-access and windows builds by [@​timfel](https://github.com/timfel) in [#​880](https://github.com/actions/setup-python/pull/880)
##### Dependency and Documentation updates:
- Enhanced wording and updated example usage for `allow-prereleases` by [@​yarikoptic](https://github.com/yarikoptic) in [#​979](https://github.com/actions/setup-python/pull/979)
- Upgrade urllib3 from 1.26.19 to 2.5.0 and document breaking changes in v6 by [@​dependabot](https://github.com/dependabot) in [#​1139](https://github.com/actions/setup-python/pull/1139)
- Upgrade typescript from 5.4.2 to 5.9.3 and Documentation update by [@​dependabot](https://github.com/dependabot) in [#​1094](https://github.com/actions/setup-python/pull/1094)
- Upgrade actions/publish-action from 0.3.0 to 0.4.0 & Documentation update for pip-install input by [@​dependabot](https://github.com/dependabot) in [#​1199](https://github.com/actions/setup-python/pull/1199)
- Upgrade requests from 2.32.2 to 2.32.4 by [@​dependabot](https://github.com/dependabot) in [#​1130](https://github.com/actions/setup-python/pull/1130)
- Upgrade prettier from 3.5.3 to 3.6.2 by [@​dependabot](https://github.com/dependabot) in [#​1234](https://github.com/actions/setup-python/pull/1234)
- Upgrade [@​types/node](https://github.com/types/node) from 24.1.0 to 24.9.1 and update macos-13 to macos-15-intel by [@​dependabot](https://github.com/dependabot) in [#​1235](https://github.com/actions/setup-python/pull/1235)
#### New Contributors
- [@​yarikoptic](https://github.com/yarikoptic) made their first contribution in [#​979](https://github.com/actions/setup-python/pull/979)
**Full Changelog**: <https://github.com/actions/setup-python/compare/v6...v6.1.0>
### [`v6.0.0`](https://github.com/actions/setup-python/releases/tag/v6.0.0)
[Compare Source](https://github.com/actions/setup-python/compare/v6...v6)
#### What's Changed
##### Breaking Changes
- Upgrade to node 24 by [@​salmanmkc](https://github.com/salmanmkc) in [#​1164](https://github.com/actions/setup-python/pull/1164)
Make sure your runner is on version v2.327.1 or later to ensure compatibility with this release. [See Release Notes](https://github.com/actions/runner/releases/tag/v2.327.1)
##### Enhancements:
- Add support for `pip-version` by [@​priyagupta108](https://github.com/priyagupta108) in [#​1129](https://github.com/actions/setup-python/pull/1129)
- Enhance reading from .python-version by [@​krystof-k](https://github.com/krystof-k) in [#​787](https://github.com/actions/setup-python/pull/787)
- Add version parsing from Pipfile by [@​aradkdj](https://github.com/aradkdj) in [#​1067](https://github.com/actions/setup-python/pull/1067)
##### Bug fixes:
- Clarify pythonLocation behaviour for PyPy and GraalPy in environment variables by [@​aparnajyothi-y](https://github.com/aparnajyothi-y) in [#​1183](https://github.com/actions/setup-python/pull/1183)
- Change missing cache directory error to warning by [@​aparnajyothi-y](https://github.com/aparnajyothi-y) in [#​1182](https://github.com/actions/setup-python/pull/1182)
- Add Architecture-Specific PATH Management for Python with --user Flag on Windows by [@​aparnajyothi-y](https://github.com/aparnajyothi-y) in [#​1122](https://github.com/actions/setup-python/pull/1122)
- Include python version in PyPy python-version output by [@​cdce8p](https://github.com/cdce8p) in [#​1110](https://github.com/actions/setup-python/pull/1110)
- Update docs: clarification on pip authentication with setup-python by [@​priya-kinthali](https://github.com/priya-kinthali) in [#​1156](https://github.com/actions/setup-python/pull/1156)
##### Dependency updates:
- Upgrade idna from 2.9 to 3.7 in /**tests**/data by [@​dependabot](https://github.com/dependabot)\[bot] in [#​843](https://github.com/actions/setup-python/pull/843)
- Upgrade form-data to fix critical vulnerabilities [#​182](https://github.com/actions/setup-python/issues/182) & [#​183](https://github.com/actions/setup-python/issues/183) by [@​aparnajyothi-y](https://github.com/aparnajyothi-y) in [#​1163](https://github.com/actions/setup-python/pull/1163)
- Upgrade setuptools to 78.1.1 to fix path traversal vulnerability in PackageIndex.download by [@​aparnajyothi-y](https://github.com/aparnajyothi-y) in [#​1165](https://github.com/actions/setup-python/pull/1165)
- Upgrade actions/checkout from 4 to 5 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1181](https://github.com/actions/setup-python/pull/1181)
- Upgrade [@​actions/tool-cache](https://github.com/actions/tool-cache) from 2.0.1 to 2.0.2 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1095](https://github.com/actions/setup-python/pull/1095)
#### New Contributors
- [@​krystof-k](https://github.com/krystof-k) made their first contribution in [#​787](https://github.com/actions/setup-python/pull/787)
- [@​cdce8p](https://github.com/cdce8p) made their first contribution in [#​1110](https://github.com/actions/setup-python/pull/1110)
- [@​aradkdj](https://github.com/aradkdj) made their first contribution in [#​1067](https://github.com/actions/setup-python/pull/1067)
**Full Changelog**: <https://github.com/actions/setup-python/compare/v5...v6.0.0>
### [`v6`](https://github.com/actions/setup-python/compare/v5.6.0...v6)
[Compare Source](https://github.com/actions/setup-python/compare/v5.6.0...v6)
### [`v5.6.0`](https://github.com/actions/setup-python/releases/tag/v5.6.0)
[Compare Source](https://github.com/actions/setup-python/compare/v5.5.0...v5.6.0)
#### What's Changed
- Workflow updates related to Ubuntu 20.04 by [@​aparnajyothi-y](https://github.com/aparnajyothi-y) in [#​1065](https://github.com/actions/setup-python/pull/1065)
- Fix for Candidate Not Iterable Error by [@​aparnajyothi-y](https://github.com/aparnajyothi-y) in [#​1082](https://github.com/actions/setup-python/pull/1082)
- Upgrade semver and [@​types/semver](https://github.com/types/semver) by [@​dependabot](https://github.com/dependabot) in [#​1091](https://github.com/actions/setup-python/pull/1091)
- Upgrade prettier from 2.8.8 to 3.5.3 by [@​dependabot](https://github.com/dependabot) in [#​1046](https://github.com/actions/setup-python/pull/1046)
- Upgrade ts-jest from 29.1.2 to 29.3.2 by [@​dependabot](https://github.com/dependabot) in [#​1081](https://github.com/actions/setup-python/pull/1081)
**Full Changelog**: <https://github.com/actions/setup-python/compare/v5...v5.6.0>
### [`v5.5.0`](https://github.com/actions/setup-python/releases/tag/v5.5.0)
[Compare Source](https://github.com/actions/setup-python/compare/v5.4.0...v5.5.0)
#### What's Changed
##### Enhancements:
- Support free threaded Python versions like '3.13t' by [@​colesbury](https://github.com/colesbury) in [#​973](https://github.com/actions/setup-python/pull/973)
- Enhance Workflows: Include ubuntu-arm runners, Add e2e Testing for free threaded and Upgrade [@​action/cache](https://github.com/action/cache) from 4.0.0 to 4.0.3 by [@​priya-kinthali](https://github.com/priya-kinthali) in [#​1056](https://github.com/actions/setup-python/pull/1056)
- Add support for .tool-versions file in setup-python by [@​mahabaleshwars](https://github.com/mahabaleshwars) in [#​1043](https://github.com/actions/setup-python/pull/1043)
##### Bug fixes:
- Fix architecture for pypy on Linux ARM64 by [@​mayeut](https://github.com/mayeut) in [#​1011](https://github.com/actions/setup-python/pull/1011)
This update maps arm64 to aarch64 for Linux ARM64 PyPy installations.
##### Dependency updates:
- Upgrade [@​vercel/ncc](https://github.com/vercel/ncc) from 0.38.1 to 0.38.3 by [@​dependabot](https://github.com/dependabot) in [#​1016](https://github.com/actions/setup-python/pull/1016)
- Upgrade [@​actions/glob](https://github.com/actions/glob) from 0.4.0 to 0.5.0 by [@​dependabot](https://github.com/dependabot) in [#​1015](https://github.com/actions/setup-python/pull/1015)
#### New Contributors
- [@​colesbury](https://github.com/colesbury) made their first contribution in [#​973](https://github.com/actions/setup-python/pull/973)
- [@​mahabaleshwars](https://github.com/mahabaleshwars) made their first contribution in [#​1043](https://github.com/actions/setup-python/pull/1043)
**Full Changelog**: <https://github.com/actions/setup-python/compare/v5...v5.5.0>
### [`v5.4.0`](https://github.com/actions/setup-python/releases/tag/v5.4.0)
[Compare Source](https://github.com/actions/setup-python/compare/v5.3.0...v5.4.0)
#### What's Changed
##### Enhancements:
- Update cache error message by [@​aparnajyothi-y](https://github.com/aparnajyothi-y) in [#​968](https://github.com/actions/setup-python/pull/968)
- Enhance Workflows: Add Ubuntu-24, Remove Python 3.8 by [@​priya-kinthali](https://github.com/priya-kinthali) in [#​985](https://github.com/actions/setup-python/pull/985)
- Configure Dependabot settings by [@​HarithaVattikuti](https://github.com/HarithaVattikuti) in [#​1008](https://github.com/actions/setup-python/pull/1008)
##### Documentation changes:
- Readme update - recommended permissions by [@​benwells](https://github.com/benwells) in [#​1009](https://github.com/actions/setup-python/pull/1009)
- Improve Advanced Usage examples by [@​lrq3000](https://github.com/lrq3000) in [#​645](https://github.com/actions/setup-python/pull/645)
##### Dependency updates:
- Upgrade `undici` from 5.28.4 to 5.28.5 by [@​dependabot](https://github.com/dependabot) in [#​1012](https://github.com/actions/setup-python/pull/1012)
- Upgrade `urllib3` from 1.25.9 to 1.26.19 in /**tests**/data by [@​dependabot](https://github.com/dependabot) in [#​895](https://github.com/actions/setup-python/pull/895)
- Upgrade `actions/publish-immutable-action` from 0.0.3 to 0.0.4 by [@​dependabot](https://github.com/dependabot) in [#​1014](https://github.com/actions/setup-python/pull/1014)
- Upgrade `@actions/http-client` from 2.2.1 to 2.2.3 by [@​dependabot](https://github.com/dependabot) in [#​1020](https://github.com/actions/setup-python/pull/1020)
- Upgrade `requests` from 2.24.0 to 2.32.2 in /**tests**/data by [@​dependabot](https://github.com/dependabot) in [#​1019](https://github.com/actions/setup-python/pull/1019)
- Upgrade `@actions/cache` to `^4.0.0` by [@​priyagupta108](https://github.com/priyagupta108) in [#​1007](https://github.com/actions/setup-python/pull/1007)
#### New Contributors
- [@​benwells](https://github.com/benwells) made their first contribution in [#​1009](https://github.com/actions/setup-python/pull/1009)
- [@​HarithaVattikuti](https://github.com/HarithaVattikuti) made their first contribution in [#​1008](https://github.com/actions/setup-python/pull/1008)
- [@​lrq3000](https://github.com/lrq3000) made their first contribution in [#​645](https://github.com/actions/setup-python/pull/645)
**Full Changelog**: <https://github.com/actions/setup-python/compare/v5...v5.4.0>
### [`v5.3.0`](https://github.com/actions/setup-python/releases/tag/v5.3.0)
[Compare Source](https://github.com/actions/setup-python/compare/v5.2.0...v5.3.0)
#### What's Changed
- Add workflow file for publishing releases to immutable action package by [@​Jcambass](https://github.com/Jcambass) in [#​941](https://github.com/actions/setup-python/pull/941)
- Upgrade IA publish by [@​Jcambass](https://github.com/Jcambass) in [#​943](https://github.com/actions/setup-python/pull/943)
##### Bug Fixes:
- Normalise Line Endings to Ensure Cross-Platform Consistency by [@​priya-kinthali](https://github.com/priya-kinthali) in [#​938](https://github.com/actions/setup-python/pull/938)
- Revise `isGhes` logic by [@​jww3](https://github.com/jww3) in [#​963](https://github.com/actions/setup-python/pull/963)
- Bump pillow from 7.2 to 10.2.0 by [@​aparnajyothi-y](https://github.com/aparnajyothi-y) in [#​956](https://github.com/actions/setup-python/pull/956)
##### Enhancements:
- Enhance workflows and documentation updates by [@​priya-kinthali](https://github.com/priya-kinthali) in [#​965](https://github.com/actions/setup-python/pull/965)
- Bump default versions to latest by [@​jeffwidman](https://github.com/jeffwidman) in [#​905](https://github.com/actions/setup-python/pull/905)
#### New Contributors
- [@​Jcambass](https://github.com/Jcambass) made their first contribution in [#​941](https://github.com/actions/setup-python/pull/941)
- [@​jww3](https://github.com/jww3) made their first contribution in [#​963](https://github.com/actions/setup-python/pull/963)
**Full Changelog**: <https://github.com/actions/setup-python/compare/v5...v5.3.0>
### [`v5.2.0`](https://github.com/actions/setup-python/releases/tag/v5.2.0)
[Compare Source](https://github.com/actions/setup-python/compare/v5.1.1...v5.2.0)
#### What's Changed
##### Bug fixes:
- Add `.zip` extension to Windows package downloads for `Expand-Archive` Compatibility by [@​priyagupta108](https://github.com/priyagupta108) in [#​916](https://github.com/actions/setup-python/pull/916)
This addresses compatibility issues on Windows self-hosted runners by ensuring that the filenames for Python and PyPy package downloads explicitly include the .zip extension, allowing the Expand-Archive command to function correctly.
- Add arch to cache key by [@​Zxilly](https://github.com/Zxilly) in [#​896](https://github.com/actions/setup-python/pull/896)
This addresses issues with caching by adding the architecture (arch) to the cache key, ensuring that cache keys are accurate to prevent conflicts.
Note: This change may break previous cache keys as they will no longer be compatible with the new format.
##### Documentation changes:
- Fix display of emojis in contributors doc by [@​sciencewhiz](https://github.com/sciencewhiz) in [#​899](https://github.com/actions/setup-python/pull/899)
- Documentation update for caching poetry dependencies by [@​gowridurgad](https://github.com/gowridurgad) in [#​908](https://github.com/actions/setup-python/pull/908)
##### Dependency updates:
- Bump [@​iarna/toml](https://github.com/iarna/toml) version from 2.2.5 to 3.0.0 by [@​priya-kinthali](https://github.com/priya-kinthali) in [#​912](https://github.com/actions/setup-python/pull/912)
- Bump pyinstaller from 3.6 to 5.13.1 by [@​aparnajyothi-y](https://github.com/aparnajyothi-y) in [#​923](https://github.com/actions/setup-python/pull/923)
#### New Contributors
- [@​sciencewhiz](https://github.com/sciencewhiz) made their first contribution in [#​899](https://github.com/actions/setup-python/pull/899)
- [@​priyagupta108](https://github.com/priyagupta108) made their first contribution in [#​916](https://github.com/actions/setup-python/pull/916)
- [@​Zxilly](https://github.com/Zxilly) made their first contribution in [#​896](https://github.com/actions/setup-python/pull/896)
- [@​aparnajyothi-y](https://github.com/aparnajyothi-y) made their first contribution in [#​923](https://github.com/actions/setup-python/pull/923)
**Full Changelog**: <https://github.com/actions/setup-python/compare/v5...v5.2.0>
### [`v5.1.1`](https://github.com/actions/setup-python/releases/tag/v5.1.1)
[Compare Source](https://github.com/actions/setup-python/compare/v5.1.0...v5.1.1)
#### What's Changed
##### Bug fixes:
- fix(ci): update all failing workflows by [@​mayeut](https://github.com/mayeut) in [#​863](https://github.com/actions/setup-python/pull/863)
This update ensures compatibility and optimal performance of workflows on the latest macOS version.
##### Documentation changes:
- Documentation update for cache by [@​gowridurgad](https://github.com/gowridurgad) in [#​873](https://github.com/actions/setup-python/pull/873)
##### Dependency updates:
- Bump braces from 3.0.2 to 3.0.3 and undici from 5.28.3 to 5.28.4 by [@​dependabot](https://github.com/dependabot) in [#​893](https://github.com/actions/setup-python/pull/893)
#### New Contributors
- [@​gowridurgad](https://github.com/gowridurgad) made their first contribution in [#​873](https://github.com/actions/setup-python/pull/873)
**Full Changelog**: <https://github.com/actions/setup-python/compare/v5...v5.1.1>
### [`v5.1.0`](https://github.com/actions/setup-python/releases/tag/v5.1.0)
[Compare Source](https://github.com/actions/setup-python/compare/v5...v5.1.0)
#### What's Changed
- Leveraging the raw API to retrieve the version-manifest, as it does not impose a rate limit and hence facilitates unrestricted consumption without the need for a token for Github Enterprise Servers by [@​Shegox](https://github.com/Shegox) in [#​766](https://github.com/actions/setup-python/pull/766).
- Dependency updates by [@​dependabot](https://github.com/dependabot) and [@​HarithaVattikuti](https://github.com/HarithaVattikuti) in [#​817](https://github.com/actions/setup-python/pull/817)
- Documentation changes for version in README by [@​basnijholt](https://github.com/basnijholt) in [#​776](https://github.com/actions/setup-python/pull/776)
- Documentation changes for link in README by [@​ukd1](https://github.com/ukd1) in [#​793](https://github.com/actions/setup-python/pull/793)
- Documentation changes for link in Advanced Usage by [@​Jamim](https://github.com/Jamim) in [#​782](https://github.com/actions/setup-python/pull/782)
- Documentation changes for avoiding rate limit issues on GHES by [@​priya-kinthali](https://github.com/priya-kinthali) in [#​835](https://github.com/actions/setup-python/pull/835)
#### New Contributors
- [@​basnijholt](https://github.com/basnijholt) made their first contribution in [#​776](https://github.com/actions/setup-python/pull/776)
- [@​ukd1](https://github.com/ukd1) made their first contribution in [#​793](https://github.com/actions/setup-python/pull/793)
- [@​Jamim](https://github.com/Jamim) made their first contribution in [#​782](https://github.com/actions/setup-python/pull/782)
- [@​Shegox](https://github.com/Shegox) made their first contribution in [#​766](https://github.com/actions/setup-python/pull/766)
- [@​priya-kinthali](https://github.com/priya-kinthali) made their first contribution in [#​835](https://github.com/actions/setup-python/pull/835)
**Full Changelog**: <https://github.com/actions/setup-python/compare/v5.0.0...v5.1.0>
### [`v5.0.0`](https://github.com/actions/setup-python/releases/tag/v5.0.0)
[Compare Source](https://github.com/actions/setup-python/compare/v5...v5)
#### What's Changed
In scope of this release, we update node version runtime from node16 to node20 ([#​772](https://github.com/actions/setup-python/pull/772)). Besides, we update dependencies to the latest versions.
**Full Changelog**: <https://github.com/actions/setup-python/compare/v4.8.0...v5.0.0>
### [`v5`](https://github.com/actions/setup-python/compare/v4.9.1...v5)
[Compare Source](https://github.com/actions/setup-python/compare/v4.9.1...v5)
### [`v4.9.1`](https://github.com/actions/setup-python/releases/tag/v4.9.1)
[Compare Source](https://github.com/actions/setup-python/compare/v4.9.0...v4.9.1)
#### What's Changed
- Add workflow file for publishing releases to immutable action package by [@​aparnajyothi-y](https://github.com/aparnajyothi-y) in [#​1084](https://github.com/actions/setup-python/pull/1084)
**Full Changelog**: <https://github.com/actions/setup-python/compare/v4...v4.9.1>
### [`v4.9.0`](https://github.com/actions/setup-python/releases/tag/v4.9.0)
[Compare Source](https://github.com/actions/setup-python/compare/v4.8.0...v4.9.0)
#### What's Changed
- Upgrade `actions/cache` to 4.0.3 by [@​priya-kinthali](https://github.com/priya-kinthali) in [#​1073](https://github.com/actions/setup-python/pull/1073)
In scope of this release we updated actions/cache package to ensure continued support and compatibility, as older versions of the package are now deprecated. For more information please refer to the [toolkit/cache](https://github.com/actions/toolkit/discussions/1890).
**Full Changelog**: <https://github.com/actions/setup-python/compare/v4.8.0...v4.9.0>
### [`v4.8.0`](https://github.com/actions/setup-python/releases/tag/v4.8.0)
[Compare Source](https://github.com/actions/setup-python/compare/v4.7.1...v4.8.0)
#### What's Changed
In scope of this release we added support for GraalPy ([#​694](https://github.com/actions/setup-python/pull/694)). You can use this snippet to set up GraalPy:
```yaml
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: 'graalpy-22.3'
- run: python my_script.py
```
Besides, the release contains such changes as:
- Trim python version when reading from file by [@​FerranPares](https://github.com/FerranPares) in [#​628](https://github.com/actions/setup-python/pull/628)
- Use non-deprecated versions in examples by [@​jeffwidman](https://github.com/jeffwidman) in [#​724](https://github.com/actions/setup-python/pull/724)
- Change deprecation comment to past tense by [@​jeffwidman](https://github.com/jeffwidman) in [#​723](https://github.com/actions/setup-python/pull/723)
- Bump [@​babel/traverse](https://github.com/babel/traverse) from 7.9.0 to 7.23.2 by [@​dependabot](https://github.com/dependabot) in [#​743](https://github.com/actions/setup-python/pull/743)
- advanced-usage.md: Encourage the use actions/checkout\@​v4 by [@​cclauss](https://github.com/cclauss) in [#​729](https://github.com/actions/setup-python/pull/729)
- Examples now use checkout\@​v4 by [@​simonw](https://github.com/simonw) in [#​738](https://github.com/actions/setup-python/pull/738)
- Update actions/checkout to v4 by [@​dmitry-shibanov](https://github.com/dmitry-shibanov) in [#​761](https://github.com/actions/setup-python/pull/761)
#### New Contributors
- [@​FerranPares](https://github.com/FerranPares) made their first contribution in [#​628](https://github.com/actions/setup-python/pull/628)
- [@​timfel](https://github.com/timfel) made their first contribution in [#​694](https://github.com/actions/setup-python/pull/694)
- [@​jeffwidman](https://github.com/jeffwidman) made their first contribution in [#​724](https://github.com/actions/setup-python/pull/724)
**Full Changelog**: <https://github.com/actions/setup-python/compare/v4...v4.8.0>
### [`v4.7.1`](https://github.com/actions/setup-python/releases/tag/v4.7.1)
[Compare Source](https://github.com/actions/setup-python/compare/v4.7.0...v4.7.1)
#### What's Changed
- Bump word-wrap from 1.2.3 to 1.2.4 by [@​dependabot](https://github.com/dependabot) in [#​702](https://github.com/actions/setup-python/pull/702)
- Add range validation for toml files by [@​dmitry-shibanov](https://github.com/dmitry-shibanov) in [#​726](https://github.com/actions/setup-python/pull/726)
**Full Changelog**: <https://github.com/actions/setup-python/compare/v4...v4.7.1>
### [`v4.7.0`](https://github.com/actions/setup-python/releases/tag/v4.7.0)
[Compare Source](https://github.com/actions/setup-python/compare/v4.6.1...v4.7.0)
In scope of this release, the support for reading python version from pyproject.toml was added ([#​669](https://github.com/actions/setup-python/pull/669)).
```yaml
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version-file: pyproject.toml
```
##### Besides, it includes such changes as:
- Bump tough-cookie and [@​azure/ms-rest-js](https://github.com/azure/ms-rest-js) by [@​dependabot](https://github.com/dependabot) in [#​697](https://github.com/actions/setup-python/pull/697)
- Bump semver from 7.3.8 to 7.5.2 by [@​dependabot](https://github.com/dependabot) in [#​692](https://github.com/actions/setup-python/pull/692)
- Fix typos found by codespell by [@​DimitriPapadopoulos](https://github.com/DimitriPapadopoulos) in [#​650](https://github.com/actions/setup-python/pull/650)
#### New Contributors
- [@​dariocurr](https://github.com/dariocurr) made their first contribution in [#​669](https://github.com/actions/setup-python/pull/669)
- [@​DimitriPapadopoulos](https://github.com/DimitriPapadopoulos) made their first contribution in [#​650](https://github.com/actions/setup-python/pull/650)
**Full Changelog**: <https://github.com/actions/setup-python/compare/v4...v4.7.0>
### [`v4.6.1`](https://github.com/actions/setup-python/releases/tag/v4.6.1)
[Compare Source](https://github.com/actions/setup-python/compare/v4.6.0...v4.6.1)
#### What's Changed
- Fix `allow-prereleases` sample configuration by [@​mayeut](https://github.com/mayeut) in [#​615](https://github.com/actions/setup-python/pull/615)
- Fix a incorrect link advanced-usage.md by [@​siyuan0322](https://github.com/siyuan0322) in [#​657](https://github.com/actions/setup-python/pull/657)
- Remove implicit dependency by [@​nikolai-laevskii](https://github.com/nikolai-laevskii) in [#​668](https://github.com/actions/setup-python/pull/668)
- Automatic update of configuration files from 05/23/2023 by [@​github-actions](https://github.com/github-actions) in [#​671](https://github.com/actions/setup-python/pull/671)
- Add warning for python 2.7 on release/v4 by [@​dmitry-shibanov](https://github.com/dmitry-shibanov) in [#​673](https://github.com/actions/setup-python/pull/673)
#### New Contributors
- [@​siyuan0322](https://github.com/siyuan0322) made their first contribution in [#​657](https://github.com/actions/setup-python/pull/657)
- [@​nikolai-laevskii](https://github.com/nikolai-laevskii) made their first contribution in [#​668](https://github.com/actions/setup-python/pull/668)
**Full Changelog**: <https://github.com/actions/setup-python/compare/v4...v4.6.1>
### [`v4.6.0`](https://github.com/actions/setup-python/releases/tag/v4.6.0): Add allow-prereleases input
[Compare Source](https://github.com/actions/setup-python/compare/v4.5.0...v4.6.0)
In scope of this release we added a new input (`allow-prereleases`) to allow [falling back to pre-release versions of Python when a matching GA version of Python is not available](https://github.com/actions/setup-python/pull/414)
```yaml
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: 3.12
allow-prereleases: true
```
Besides, we added such changes as:
- Fix bug to trim new line for PyPy version: [#​610](https://github.com/actions/setup-python/pull/610)
- Added pip dependency file to generate hash from it: [#​604](https://github.com/actions/setup-python/pull/604)
- Improved error handling for saving and restoring cache: [#​618](https://github.com/actions/setup-python/pull/618)
- Add warning if cache paths are empty: [#​642](https://github.com/actions/setup-python/pull/642)
### [`v4.5.0`](https://github.com/actions/setup-python/releases/tag/v4.5.0): Fix cache issue for Poetry projects located in subfolders
[Compare Source](https://github.com/actions/setup-python/compare/v4.4.0...v4.5.0)
In scope of this release we fixed cache issue for Poetry projects located in subfolders ([#​446](https://github.com/actions/setup-python/issues/446)). Besides that we updated json5 version from 2.2.0 to 2.2.3 ([#​579](https://github.com/actions/setup-python/pull/579)).
### [`v4.4.0`](https://github.com/actions/setup-python/releases/tag/v4.4.0): Add support to install multiple python versions
[Compare Source](https://github.com/actions/setup-python/compare/v4.3.1...v4.4.0)
In scope of this release we added support to [install multiple python versions](https://github.com/actions/setup-python/pull/567). For this you can try to use this snippet:
```yaml
- uses: actions/setup-python@v4
with:
python-version: |
3.8
3.9
3.10
```
Besides, we changed logic with throwing the error for GHES if cache is unavailable to warn ([#​566](https://github.com/actions/setup-python/pull/566)).
### [`v4.3.1`](https://github.com/actions/setup-python/releases/tag/v4.3.1): Improve error handling and messages
[Compare Source](https://github.com/actions/setup-python/compare/v4.3.0...v4.3.1)
In scope of this release we added improved error message to put operating system and its version in the logs ([#​559](https://github.com/actions/setup-python/pull/559)). Besides, the release
- fixes issue about [specifying architecture for pypy-nightly on Windows](https://github.com/actions/setup-python/issues/518) with related [pull request](https://github.com/actions/setup-python/pull/520).
- improves error handling for Http Errors ([#​511](https://github.com/actions/setup-python/pull/511)).
- updates minimatch ([#​558](https://github.com/actions/setup-python/pull/558)).
### [`v4.3.0`](https://github.com/actions/setup-python/releases/tag/v4.3.0)
[Compare Source](https://github.com/actions/setup-python/compare/v4.2.0...v4.3.0)
- Update [@​actions/core](https://github.com/actions/core) to 1.10.0 version [#​517](https://github.com/actions/setup-python/issues/517)
- Update [@​actions/cache](https://github.com/actions/cache) to 3.0.4 version [#​499](https://github.com/actions/setup-python/issues/499)
- Only use github.token on github.com [#​443](https://github.com/actions/setup-python/issues/443)
- Improvement of documentation [#​477](https://github.com/actions/setup-python/issues/477) [#​479](https://github.com/actions/setup-python/issues/479) [#​491](https://github.com/actions/setup-python/issues/491) [#​492](https://github.com/actions/setup-python/issues/492)
### [`v4.2.0`](https://github.com/actions/setup-python/releases/tag/v4.2.0): Add check-latest input and bug fixes
[Compare Source](https://github.com/actions/setup-python/compare/v4.1.0...v4.2.0)
In scope of this release we add the [check-latest](https://github.com/actions/setup-python/pull/406) input. If check-latest is set to true, the action first checks if the cached version is the latest one. If the locally cached version is not the most up-to-date, the version will then be downloaded from [python-versions](https://github.com/actions/python-versions) repository. By default check-latest is set to false. For PyPy it will to try to reach <https://downloads.python.org/pypy/versions.json>
##### Example of usage:
```yaml
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.9'
check-latest: true
- run: python --version
```
Besides, it includes such changes as
- Resolved logs for python-version and file inputs: [#​465](https://github.com/actions/setup-python/pull/465)
- Added linux os release info to primary key: [#​467](https://github.com/actions/setup-python/pull/467)
- Added fix to change Python versions for poetry: [#​445](https://github.com/actions/setup-python/pull/445)
- Fix Tool Path handling for self-hosted runners: [#​466](https://github.com/actions/setup-python/pull/466)
### [`v4.1.0`](https://github.com/actions/setup-python/releases/tag/v4.1.0)
[Compare Source](https://github.com/actions/setup-python/compare/v4...v4.1.0)
In scope of this pull request we updated `actions/cache` package as the new version contains fixes for [caching error handling](https://github.com/actions/setup-python/pull/448). Moreover, we added a new input [update-environment](https://github.com/actions/setup-python/pull/411). This option allows to specify if the action shall update environment variables (default) or not.
##### Update-environment input
```yaml
- name: setup-python 3.9
uses: actions/setup-python@v4
with:
python-version: 3.9
update-environment: false
```
**Besides, we added such changes as:**
- Allow python-version-file to be a relative path: [#​431](https://github.com/actions/setup-python/pull/431)
- Added new environment variables for `Cmake`: [#​440](https://github.com/actions/setup-python/pull/440)
- Updated error message for resolveVersion: [#​450](https://github.com/actions/setup-python/pull/450)
- Assign default value of `AGENT_TOOLSDIRECTORY` if not set: [#​394](https://github.com/actions/setup-python/pull/394)
### [`v4.0.0`](https://github.com/actions/setup-python/releases/tag/v4.0.0)
[Compare Source](https://github.com/actions/setup-python/compare/v4...v4)
##### What's Changed
- Support for `python-version-file` input: [#​336](https://github.com/actions/setup-python/issues/336)
Example of usage:
```yaml
- uses: actions/setup-python@v4
with:
python-version-file: '.python-version' # Read python version from a file
- run: python my_script.py
```
There is no default python version for this `setup-python` major version, the action requires to specify either `python-version` input or `python-version-file` input. If the `python-version` input is not specified the action will try to read required version from file from `python-version-file` input.
- Use pypyX.Y for PyPy `python-version` input: [#​349](https://github.com/actions/setup-python/issues/349)
Example of usage:
```yaml
- uses: actions/setup-python@v4
with:
python-version: 'pypy3.9' # pypy-X.Y kept for backward compatibility
- run: python my_script.py
```
- `RUNNER_TOOL_CACHE` environment variable is equal `AGENT_TOOLSDIRECTORY`: [#​338](https://github.com/actions/setup-python/issues/338)
- Bugfix: create missing `pypyX.Y` symlinks: [#​347](https://github.com/actions/setup-python/issues/347)
- `PKG_CONFIG_PATH` environment variable: [#​400](https://github.com/actions/setup-python/issues/400)
- Added `python-path` output: [#​405](https://github.com/actions/setup-python/issues/405)
`python-path` output contains Python executable path.
- Updated `zeit/ncc` to `vercel/ncc` package: [#​393](https://github.com/actions/setup-python/issues/393)
- Bugfix: fixed output for prerelease version of poetry: [#​409](https://github.com/actions/setup-python/issues/409)
- Made `pythonLocation` environment variable consistent for Python and PyPy: [#​418](https://github.com/actions/setup-python/issues/418)
- Bugfix for `3.x-dev` syntax: [#​417](https://github.com/actions/setup-python/issues/417)
- Other improvements: [#​318](https://github.com/actions/setup-python/issues/318) [#​396](https://github.com/actions/setup-python/issues/396) [#​384](https://github.com/actions/setup-python/issues/384) [#​387](https://github.com/actions/setup-python/issues/387) [#​388](https://github.com/actions/setup-python/issues/388)
### [`v4`](https://github.com/actions/setup-python/compare/v3.1.4...v4)
[Compare Source](https://github.com/actions/setup-python/compare/v3.1.4...v4)
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMjkuMCIsInVwZGF0ZWRJblZlciI6IjQzLjI1Ny4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
mars3142
changed title from Update actions/setup-python action to v6 to Update actions/setup-python action to v6 - autoclosed2026-07-20 08:06:15 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
v3→v6Release Notes
actions/setup-python (actions/setup-python)
v6.3.0Compare Source
What's Changed
Enhancement
Dependency update
Documentation
New Contributors
Full Changelog: https://github.com/actions/setup-python/compare/v6.2.0...v6.3.0
v6.2.0Compare Source
What's Changed
Dependency Upgrades
/__tests__/databy @dependabot in #1253 and #1264Full Changelog: https://github.com/actions/setup-python/compare/v6...v6.2.0
v6.1.0Compare Source
What's Changed
Enhancements:
pip-installinput by @gowridurgad in #1201Dependency and Documentation updates:
allow-prereleasesby @yarikoptic in #979New Contributors
Full Changelog: https://github.com/actions/setup-python/compare/v6...v6.1.0
v6.0.0Compare Source
What's Changed
Breaking Changes
Make sure your runner is on version v2.327.1 or later to ensure compatibility with this release. See Release Notes
Enhancements:
pip-versionby @priyagupta108 in #1129Bug fixes:
Dependency updates:
New Contributors
Full Changelog: https://github.com/actions/setup-python/compare/v5...v6.0.0
v6Compare Source
v5.6.0Compare Source
What's Changed
Full Changelog: https://github.com/actions/setup-python/compare/v5...v5.6.0
v5.5.0Compare Source
What's Changed
Enhancements:
Bug fixes:
This update maps arm64 to aarch64 for Linux ARM64 PyPy installations.
Dependency updates:
New Contributors
Full Changelog: https://github.com/actions/setup-python/compare/v5...v5.5.0
v5.4.0Compare Source
What's Changed
Enhancements:
Documentation changes:
Dependency updates:
undicifrom 5.28.4 to 5.28.5 by @dependabot in #1012urllib3from 1.25.9 to 1.26.19 in /tests/data by @dependabot in #895actions/publish-immutable-actionfrom 0.0.3 to 0.0.4 by @dependabot in #1014@actions/http-clientfrom 2.2.1 to 2.2.3 by @dependabot in #1020requestsfrom 2.24.0 to 2.32.2 in /tests/data by @dependabot in #1019@actions/cacheto^4.0.0by @priyagupta108 in #1007New Contributors
Full Changelog: https://github.com/actions/setup-python/compare/v5...v5.4.0
v5.3.0Compare Source
What's Changed
Bug Fixes:
isGheslogic by @jww3 in #963Enhancements:
New Contributors
Full Changelog: https://github.com/actions/setup-python/compare/v5...v5.3.0
v5.2.0Compare Source
What's Changed
Bug fixes:
.zipextension to Windows package downloads forExpand-ArchiveCompatibility by @priyagupta108 in #916This addresses compatibility issues on Windows self-hosted runners by ensuring that the filenames for Python and PyPy package downloads explicitly include the .zip extension, allowing the Expand-Archive command to function correctly.
This addresses issues with caching by adding the architecture (arch) to the cache key, ensuring that cache keys are accurate to prevent conflicts.
Note: This change may break previous cache keys as they will no longer be compatible with the new format.
Documentation changes:
Dependency updates:
New Contributors
Full Changelog: https://github.com/actions/setup-python/compare/v5...v5.2.0
v5.1.1Compare Source
What's Changed
Bug fixes:
This update ensures compatibility and optimal performance of workflows on the latest macOS version.
Documentation changes:
Dependency updates:
New Contributors
Full Changelog: https://github.com/actions/setup-python/compare/v5...v5.1.1
v5.1.0Compare Source
What's Changed
New Contributors
Full Changelog: https://github.com/actions/setup-python/compare/v5.0.0...v5.1.0
v5.0.0Compare Source
What's Changed
In scope of this release, we update node version runtime from node16 to node20 (#772). Besides, we update dependencies to the latest versions.
Full Changelog: https://github.com/actions/setup-python/compare/v4.8.0...v5.0.0
v5Compare Source
v4.9.1Compare Source
What's Changed
Full Changelog: https://github.com/actions/setup-python/compare/v4...v4.9.1
v4.9.0Compare Source
What's Changed
actions/cacheto 4.0.3 by @priya-kinthali in #1073In scope of this release we updated actions/cache package to ensure continued support and compatibility, as older versions of the package are now deprecated. For more information please refer to the toolkit/cache.
Full Changelog: https://github.com/actions/setup-python/compare/v4.8.0...v4.9.0
v4.8.0Compare Source
What's Changed
In scope of this release we added support for GraalPy (#694). You can use this snippet to set up GraalPy:
Besides, the release contains such changes as:
New Contributors
Full Changelog: https://github.com/actions/setup-python/compare/v4...v4.8.0
v4.7.1Compare Source
What's Changed
Full Changelog: https://github.com/actions/setup-python/compare/v4...v4.7.1
v4.7.0Compare Source
In scope of this release, the support for reading python version from pyproject.toml was added (#669).
Besides, it includes such changes as:
New Contributors
Full Changelog: https://github.com/actions/setup-python/compare/v4...v4.7.0
v4.6.1Compare Source
What's Changed
allow-prereleasessample configuration by @mayeut in #615New Contributors
Full Changelog: https://github.com/actions/setup-python/compare/v4...v4.6.1
v4.6.0: Add allow-prereleases inputCompare Source
In scope of this release we added a new input (
allow-prereleases) to allow falling back to pre-release versions of Python when a matching GA version of Python is not availableBesides, we added such changes as:
v4.5.0: Fix cache issue for Poetry projects located in subfoldersCompare Source
In scope of this release we fixed cache issue for Poetry projects located in subfolders (#446). Besides that we updated json5 version from 2.2.0 to 2.2.3 (#579).
v4.4.0: Add support to install multiple python versionsCompare Source
In scope of this release we added support to install multiple python versions. For this you can try to use this snippet:
Besides, we changed logic with throwing the error for GHES if cache is unavailable to warn (#566).
v4.3.1: Improve error handling and messagesCompare Source
In scope of this release we added improved error message to put operating system and its version in the logs (#559). Besides, the release
v4.3.0Compare Source
v4.2.0: Add check-latest input and bug fixesCompare Source
In scope of this release we add the check-latest input. If check-latest is set to true, the action first checks if the cached version is the latest one. If the locally cached version is not the most up-to-date, the version will then be downloaded from python-versions repository. By default check-latest is set to false. For PyPy it will to try to reach https://downloads.python.org/pypy/versions.json
Example of usage:
Besides, it includes such changes as
v4.1.0Compare Source
In scope of this pull request we updated
actions/cachepackage as the new version contains fixes for caching error handling. Moreover, we added a new input update-environment. This option allows to specify if the action shall update environment variables (default) or not.Update-environment input
Besides, we added such changes as:
Cmake: #440AGENT_TOOLSDIRECTORYif not set: #394v4.0.0Compare Source
What's Changed
python-version-fileinput: #336Example of usage:
There is no default python version for this
setup-pythonmajor version, the action requires to specify eitherpython-versioninput orpython-version-fileinput. If thepython-versioninput is not specified the action will try to read required version from file frompython-version-fileinput.python-versioninput: #349Example of usage:
RUNNER_TOOL_CACHEenvironment variable is equalAGENT_TOOLSDIRECTORY: #338Bugfix: create missing
pypyX.Ysymlinks: #347PKG_CONFIG_PATHenvironment variable: #400Added
python-pathoutput: #405python-pathoutput contains Python executable path.Updated
zeit/ncctovercel/nccpackage: #393Bugfix: fixed output for prerelease version of poetry: #409
Made
pythonLocationenvironment variable consistent for Python and PyPy: #418Bugfix for
3.x-devsyntax: #417Other improvements: #318 #396 #384 #387 #388
v4Compare Source
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate.
Update actions/setup-python action to v6to Update actions/setup-python action to v6 - autoclosedPull request closed