Releases: astral-sh/setup-uv
v7.1.4 🌈 Fix libuv closing bug on Windows
Changes
This release fixes the bug Assertion failed: !(handle->flags & UV_HANDLE_CLOSING) on Windows runners
🐛 Bug fixes
🧰 Maintenance
- chore: update known checksums for 0.9.10 @github-actions[bot] (#681)
- chore: update known checksums for 0.9.9 @github-actions[bot] (#679)
v7.1.3 🌈 Support act
Changes
This bug fix release adds support for https://github.com/nektos/act
It was previously broken because of a too new undici version and TS transpilation target.
Compatibility with act is now automatically tested.
🐛 Bug fixes
🧰 Maintenance
- chore: update known checksums for 0.9.8 @github-actions[bot] (#677)
- chore: update known checksums for 0.9.7 @github-actions[bot] (#671)
- chore: update known checksums for 0.9.6 @github-actions[bot] (#670)
📚 Documentation
- Correct description of
cache-dependency-glob@allanlewis (#676)
v7.1.2 🌈 Speed up extraction on Windows
Changes
@lazka fixed a bug that caused extracting uv to take up to 30s. Thank you!
🐛 Bug fixes
🧰 Maintenance
- chore: update known checksums for 0.9.5 @github-actions[bot] (#663)
⬆️ Dependency updates
- Bump dependencies @eifinger (#664)
- Bump github/codeql-action from 4.30.8 to 4.30.9 @dependabot[bot] (#652)
v7.1.1 🌈 Fix empty workdir detection and lowest resolution strategy
Changes
This release fixes a bug where the working-directory input was not used to detect an empty work dir. It also fixes the lowest resolution strategy resolving to latest when only a lower bound was specified.
Special thanks to @tpgillam for the first contribution!
🐛 Bug fixes
- Fix "lowest" resolution strategy with lower-bound only @tpgillam (#649)
- Use working-directory to detect empty workdir @eifinger (#645)
🧰 Maintenance
- chore: update known checksums for 0.9.4 @github-actions[bot] (#651)
- chore: update known checksums for 0.9.3 @github-actions[bot] (#644)
📚 Documentation
⬆️ Dependency updates
- Bump github/codeql-action from 4.30.7 to 4.30.8 @dependabot[bot] (#639)
- Bump actions/setup-node from 5.0.0 to 6.0.0 @dependabot[bot] (#641)
- Bump eifinger/actionlint-action from 1.9.1 to 1.9.2 @dependabot[bot] (#634)
- Update lockfile with latest npm @eifinger (#636)
v7.1.0 🌈 Support all the use cases
Changes
Support all the use cases!!!
... well, that we know of.
This release adds support for some use cases that most users don't encounter but are useful for e.g. people running Gitea.
The input resolution-strategy lets you use the lowest possible version of uv from a version range. Useful if you want to test your tool with different versions of uv.
If you use activate-environment the path to the activated venv is now also exposed under the output venv.
Downloaded python installations can now also be uploaded to the GitHub Actions cache backend. Useful if you are running in act and have configured your own backend and don't want to download python again, and again over a slow internet connection.
Finally the path to installed python interpreters is now added to the PATH on Windows.
🚀 Enhancements
- Add resolution-strategy input to support oldest compatible version selection @copilot-swe-agent[bot] (#631)
- Add value of UV_PYTHON_INSTALL_DIR to path @eifinger (#628)
- Set output venv when activate-environment is used @eifinger (#627)
- Cache python installs @merlinz01 (#621)
🧰 Maintenance
- Add copilot-instructions.md @eifinger (#630)
- chore: update known checksums for 0.9.2 @github-actions[bot] (#626)
- chore: update known checksums for 0.9.1 @github-actions[bot] (#625)
- Fall back to PR for updating known versions @eifinger (#623)
📚 Documentation
⬆️ Dependency updates
- Bump deps @eifinger (#633)
- Bump github/codeql-action from 3.30.6 to 4.30.7 @dependabot[bot] (#614)
v7.0.0 🌈 node24 and a lot of bugfixes
Changes
This release comes with a load of bug fixes and a speed up. Because of switching from node20 to node24 it is also a breaking change. If you are running on GitHub hosted runners this will just work, if you are using self-hosted runners make sure, that your runners are up to date. If you followed the normal installation instructions your self-hosted runner will keep itself updated.
This release also removes the deprecated input server-url which was used to download uv releases from a different server.
The manifest-file input supersedes that functionality by adding a flexible way to define available versions and where they should be downloaded from.
Fixes
- The action now respects when the environment variable
UV_CACHE_DIRis already set and does not overwrite it. It now also finds cache-dir settings in config files if you set them. - Some users encountered problems that cache pruning took forever because they had some
uvprocesses running in the background. Starting with uv version0.8.24this action usesuv cache prune --ci --forceto ignore the running processes - If you just want to install uv but not have it available in path, this action now respects
UV_NO_MODIFY_PATH - Some other actions also set the env var
UV_CACHE_DIR. This action can now deal with that but as this could lead to unwanted behavior in some edgecases a warning is now displayed.
Improvements
If you are using minimum version specifiers for the version of uv to install for example
[tool.uv]
required-version = ">=0.8.17"This action now detects that and directly uses the latest version. Previously it would download all available releases from the uv repo
to determine the highest matching candidate for the version specifier, which took much more time.
If you are using other specifiers like 0.8.x this action still needs to download all available releases because the specifier defines an upper bound (not 0.9.0 or later) and "latest" would possibly not satisfy that.
🚨 Breaking changes
🐛 Bug fixes
- Respect UV_CACHE_DIR and cache-dir @eifinger (#612)
- Use --force when pruning cache @eifinger (#611)
- Respect UV_NO_MODIFY_PATH @eifinger (#603)
- Warn when
UV_CACHE_DIRhas changed @jamesbraza (#601)
🚀 Enhancements
🧰 Maintenance
- Bump dependencies @eifinger (#613)
- Fix test-uv-no-modify-path @eifinger (#604)
- Don't assume all test passed if cancelled @eifinger (#599)
⬆️ Dependency updates
- Bump github/codeql-action from 3.30.5 to 3.30.6 @dependabot[bot] (#605)
- Bump github/codeql-action from 3.30.3 to 3.30.5 @dependabot[bot] (#594)
- Bump @renovatebot/pep440 from 4.2.0 to 4.2.1 @dependabot[bot] (#581)
v6.8.0 🌈 Add **/*.py.lock to cache-dependency-glob
Changes
Thanks to @parched the default cache-dependency-glob now also find all lock files generated by uv lock --script
🚀 Enhancements
- Always show prune cache output @eifinger (#597)
- Add **/*.py.lock to cache-dependency-glob @parched (#590)
🧰 Maintenance
📚 Documentation
⬆️ Dependency updates
- Bump zizmorcore/zizmor-action from 0.1.2 to 0.2.0 @dependabot[bot] (#571)
v6.7.0 🌈 New inputs `restore-cache` and `save-cache`
Changes
This release adds fine-grained control over the caching steps.
- The input
restore-cache(trueby default) can be set tofalseto skip restoring the cache while still allowing to save the cache. - The input
save-cache(trueby default) can be set tofalseto skip saving the cache.
Skipping cache saving can be useful if you know, that you will never use this version of the cache again and don't want to waste storage space:
- name: Save cache only on main branch
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
save-cache: ${{ github.ref == 'refs/heads/main' }}🚀 Enhancements
🧰 Maintenance
- bump deps @eifinger (#569)
- Automatically push updated known versions @eifinger (#565)
- chore: update known versions for 0.8.16/0.8.17 @github-actions[bot] (#562)
- chore: update known versions for 0.8.15 @github-actions[bot] (#550)
- chore(ci): address CI lint findings @woodruffw (#545)
⬆️ Dependency updates
- Bump github/codeql-action from 3.29.11 to 3.30.3 @dependabot[bot] (#566)
- Bump actions/setup-node from 4.4.0 to 5.0.0 @dependabot[bot] (#551)
v6.6.1 🌈 Fix exclusions in cache-dependency-glob
Changes
Exclusions with a leading ! in the cache-dependency-glob did not work and got fixed with this release. Thank you @KnisterPeter for raising this!
🐛 Bug fixes
🧰 Maintenance
- Bump dependencies @eifinger (#547)
- chore: update known versions for 0.8.14 @github-actions[bot] (#543)
- chore: update known versions for 0.8.13 @github-actions[bot] (#536)
v6.6.0 🌈 Support for .tools-versions
Changes
This release adds support for asdf .tool-versions in the version-file input
🐛 Bug fixes
🚀 Enhancements
🧰 Maintenance
- Bump dependencies @eifinger (#532)
- chore: update known versions for 0.8.12 @github-actions[bot] (#529)
- chore: update known versions for 0.8.11 @github-actions[bot] (#526)
- chore: update known versions for 0.8.10 @github-actions[bot] (#525)