v7.5.0: 🌈 Use `astral-sh/versions` as version provider
No more rate-limits
This release addresses a long-standing source of timeouts and rate-limit failures in setup-uv.
Previously, the action resolved version identifiers like 0.5.x by iterating over available uv releases via the GitHub API to find the best match. In contrast, latest and exact versions such as 0.5.0 skipped version resolution entirely and downloaded uv directly.
The manifest-file input was an earlier attempt to improve this. It allows providing an url to a file that lists available versions, checksums, and even custom download URLs. The action also shipped with such a manifest.
However, because that bundled file could become outdated whenever new uv releases were published, the action still had to fall back to the GitHub API in many cases.
This release solves the problem by sourcing version data from Astral’s versions repository via the raw content endpoint:
https://raw.githubusercontent.com/astral-sh/versions/refs/heads/main/v1/uv.ndjson
By using the raw endpoint instead of the GitHub API, version resolution no longer depends on API authentication and is much less likely to run into rate limits or timeouts.
[!TIP]
The next section is only interesting for users of themanifest-fileinput
The manifest-file input lets you override that source with your own URL, for example to test custom uv builds or alternate download locations.
The manifest file must be in NDJSON format, where each line is a JSON object representing a version and its artifacts. For example:
{"version":"0.10.7","artifacts":[{"platform":"x86_64-unknown-linux-gnu","variant":"default","url":"https://example.com/uv-x86_64-unknown-linux-gnu.tar.gz","archive_format":"tar.gz","sha256":"..."}]}
{"version":"0.10.6","artifacts":[{"platform":"x86_64-unknown-linux-gnu","variant":"default","url":"https://example.com/uv-x86_64-unknown-linux-gnu.tar.gz","archive_format":"tar.gz","sha256":"..."}]}[!WARNING]
The old format still works but is deprecated. A warning will be logged when you use it.
Changes
- docs: replace copilot instructions with AGENTS.md @eifinger (#794)
🚀 Enhancements
- Use astral-sh/versions as primary version provider @eifinger (#802)
📚 Documentation
- docs: add cross-client dependabot rollup skill @eifinger (#793)
v7.4.0: 🌈 Add riscv64 architecture support to platform detection
Changes
Thank you @luhenry for adding support for riscv64 arch
🚀 Enhancements
🧰 Maintenance
- Delete .github/workflows/dependabot-build.yml @eifinger (#789)
- Harden Dependabot build workflow @eifinger (#788)
- Fix: check PR author instead of event sender for Dependabot detection @eifinger-bot (#787)
- chore: update known checksums for 0.10.9 @github-actions[bot] (#783)
- Add workflow to auto-build dist on Dependabot PRs @eifinger-bot (#782)
- chore: update known checksums for 0.10.8 @github-actions[bot] (#779)
- chore: update known checksums for 0.10.7 @github-actions[bot] (#775)
⬆️ Dependency updates
- chore(deps): bump versions @eifinger (#792)
- Bump actions/setup-node from 6.2.0 to 6.3.0 @dependabot[bot] (#790)
- Bump eifinger/actionlint-action from 1.10.0 to 1.10.1 @dependabot[bot] (#778)
📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, on day 1 of the month ( * 0-3 1 * * ) (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.