Skip to content

Speed up version client by partial response reads - #807

Merged
eifinger merged 1 commit into
mainfrom
speed-up-version-client
Jul 21, 2026
Merged

Speed up version client by partial response reads#807
eifinger merged 1 commit into
mainfrom
speed-up-version-client

Conversation

@eifinger

Copy link
Copy Markdown
Collaborator

No description provided.

@eifinger
eifinger force-pushed the speed-up-version-client branch from 01149c4 to 092323b Compare July 21, 2026 14:28
@eifinger
eifinger requested a review from Copilot July 21, 2026 15:03
@eifinger
eifinger marked this pull request as ready for review July 21, 2026 15:03
@eifinger eifinger added the enhancement New feature or request label Jul 21, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR speeds up version resolution for the default astral-sh/versions manifest by avoiding full-manifest downloads/parsing when only the “latest” or “first matching” record is needed, which is a common path in this GitHub Action.

Changes:

  • Add a streaming “find first matching manifest record” path for the default manifest, plus caching that distinguishes partial vs. complete reads.
  • Update version resolution to use a fast path for "highest" range resolution against the default manifest via getFirstMatchingVersion.
  • Extend/adjust tests to cover early stream termination, cancellation behavior, and caching semantics; re-package updated dist/ bundles.

Reviewed changes

Copilot reviewed 4 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/version/resolve.ts Uses getFirstMatchingVersion fast path for highest-range resolution on the default manifest.
src/download/manifest.ts Adds streaming manifest scanning (findManifestVersion) + partial/complete caching and helpers.
tests/download/manifest.test.ts Adds streaming-response tests for early termination, cancellation, and caching behavior.
tests/download/download-version.test.ts Updates version-resolution tests to reflect streaming fast path usage.
dist/update-known-checksums/index.cjs Updated packaged output reflecting manifest streaming/caching changes.
dist/setup/index.cjs Updated packaged output reflecting version resolution + manifest streaming changes.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/version/resolve.ts
Comment thread src/version/resolve.ts
Refs: pi-session 019f797f-0aef-7ee4-8c5d-72017928ec93
@eifinger
eifinger force-pushed the speed-up-version-client branch from 092323b to 7b4644a Compare July 21, 2026 15:23
@eifinger
eifinger merged commit 2269552 into main Jul 21, 2026
91 checks passed
@eifinger
eifinger deleted the speed-up-version-client branch July 21, 2026 15:26
Doridian pushed a commit to FoxDenHome/core that referenced this pull request Jul 21, 2026
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [https://github.com/astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | action | major | `v8.3.2` → `v9.0.0` |

---

### Release Notes

<details>
<summary>astral-sh/setup-uv (https://github.com/astral-sh/setup-uv)</summary>

### [`v9.0.0`](https://github.com/astral-sh/setup-uv/releases/tag/v9.0.0): 🌈 Change `prune-cache` default to `false`

[Compare Source](astral-sh/setup-uv@v8.3.2...v9.0.0)

#### Changes

This release disables the default cache cache pruning to ease the load on the PyPi infrastructure.
Since users might experience more GitHub Actions cache usage which might result in higher costs this is marked as a breaking change. To read more on why we did this (now) you can read the detailed analysis and reasoning in [#&#8203;967](astral-sh/setup-uv#967)

Besides this big breaking change we also have a small bugfix while building caches for linux distributions that behave a big different than the "big ones" and a speed up in version resolution by only reading the version manifest until a matching version is found saving runtime and network bandwith.

#### 🚨 Breaking changes

- Change `prune-cache` default to `false` [@&#8203;charliermarsh](https://github.com/charliermarsh) ([#&#8203;967](astral-sh/setup-uv#967))

#### 🐛 Bug fixes

- fix: fall back to distribution ID when os-release has no version field [@&#8203;cxzhong](https://github.com/cxzhong) ([#&#8203;961](astral-sh/setup-uv#961))

#### 🚀 Enhancements

- Speed up version client by partial response reads [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;807](astral-sh/setup-uv#807))

#### 🧰 Maintenance

- chore: update known checksums for 0.11.30 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;968](astral-sh/setup-uv#968))
- chore: update known checksums for 0.11.29 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;960](astral-sh/setup-uv#960))

#### 📚 Documentation

- docs: update version references to v8.3.2 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;949](astral-sh/setup-uv#949))

#### ⬆️ Dependency updates

- chore(deps): roll up Dependabot updates [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;970](astral-sh/setup-uv#970))
- chore(deps): roll up Dependabot updates [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;962](astral-sh/setup-uv#962))

</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:eyJjcmVhdGVkSW5WZXIiOiI0My4yNzMuMCIsInVwZGF0ZWRJblZlciI6IjQzLjI3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: https://git.foxden.network/FoxDen/core/pulls/136
ajgon pushed a commit to deedee-ops/schemas that referenced this pull request Jul 22, 2026
#14)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | action | major | `v8.3.2` → `v9.0.0` |

---

### Release Notes

<details>
<summary>astral-sh/setup-uv (astral-sh/setup-uv)</summary>

### [`v9.0.0`](https://github.com/astral-sh/setup-uv/releases/tag/v9.0.0): 🌈 Change `prune-cache` default to `false`

[Compare Source](astral-sh/setup-uv@v8.3.2...v9.0.0)

#### Changes

This release disables the default cache cache pruning to ease the load on the PyPi infrastructure.
Since users might experience more GitHub Actions cache usage which might result in higher costs this is marked as a breaking change. To read more on why we did this (now) you can read the detailed analysis and reasoning in [#&#8203;967](astral-sh/setup-uv#967)

Besides this big breaking change we also have a small bugfix while building caches for linux distributions that behave a big different than the "big ones" and a speed up in version resolution by only reading the version manifest until a matching version is found saving runtime and network bandwith.

#### 🚨 Breaking changes

- Change `prune-cache` default to `false` [@&#8203;charliermarsh](https://github.com/charliermarsh) ([#&#8203;967](astral-sh/setup-uv#967))

#### 🐛 Bug fixes

- fix: fall back to distribution ID when os-release has no version field [@&#8203;cxzhong](https://github.com/cxzhong) ([#&#8203;961](astral-sh/setup-uv#961))

#### 🚀 Enhancements

- Speed up version client by partial response reads [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;807](astral-sh/setup-uv#807))

#### 🧰 Maintenance

- chore: update known checksums for 0.11.30 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;968](astral-sh/setup-uv#968))
- chore: update known checksums for 0.11.29 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;960](astral-sh/setup-uv#960))

#### 📚 Documentation

- docs: update version references to v8.3.2 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;949](astral-sh/setup-uv#949))

#### ⬆️ Dependency updates

- chore(deps): roll up Dependabot updates [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;970](astral-sh/setup-uv#970))
- chore(deps): roll up Dependabot updates [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;962](astral-sh/setup-uv#962))

</details>

---

### Configuration

📅 **Schedule**: (in timezone Europe/Warsaw)

- 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:eyJjcmVhdGVkSW5WZXIiOiI0My4yNzIuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI3Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Reviewed-on: https://git.ajgon.casa/deedee/schemas/pulls/14
luketainton pushed a commit to luketainton/repos_pypilot that referenced this pull request Jul 24, 2026
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | action | major | `v8.3.2` → `v9.0.0` |

---

### Release Notes

<details>
<summary>astral-sh/setup-uv (astral-sh/setup-uv)</summary>

### [`v9.0.0`](https://github.com/astral-sh/setup-uv/releases/tag/v9.0.0): 🌈 Change `prune-cache` default to `false`

[Compare Source](astral-sh/setup-uv@v8.3.2...v9.0.0)

##### Changes

This release disables the default cache cache pruning to ease the load on the PyPi infrastructure.
Since users might experience more GitHub Actions cache usage which might result in higher costs this is marked as a breaking change. To read more on why we did this (now) you can read the detailed analysis and reasoning in [#&#8203;967](astral-sh/setup-uv#967)

Besides this big breaking change we also have a small bugfix while building caches for linux distributions that behave a big different than the "big ones" and a speed up in version resolution by only reading the version manifest until a matching version is found saving runtime and network bandwith.

##### 🚨 Breaking changes

- Change `prune-cache` default to `false` [@&#8203;charliermarsh](https://github.com/charliermarsh) ([#&#8203;967](astral-sh/setup-uv#967))

##### 🐛 Bug fixes

- fix: fall back to distribution ID when os-release has no version field [@&#8203;cxzhong](https://github.com/cxzhong) ([#&#8203;961](astral-sh/setup-uv#961))

##### 🚀 Enhancements

- Speed up version client by partial response reads [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;807](astral-sh/setup-uv#807))

##### 🧰 Maintenance

- chore: update known checksums for 0.11.30 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;968](astral-sh/setup-uv#968))
- chore: update known checksums for 0.11.29 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;960](astral-sh/setup-uv#960))

##### 📚 Documentation

- docs: update version references to v8.3.2 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;949](astral-sh/setup-uv#949))

##### ⬆️ Dependency updates

- chore(deps): roll up Dependabot updates [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;970](astral-sh/setup-uv#970))
- chore(deps): roll up Dependabot updates [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;962](astral-sh/setup-uv#962))

</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 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.

---

 - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiI0My4yNzMuMCIsInVwZGF0ZWRJblZlciI6IjQzLjI3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJ0eXBlL2RlcGVuZGVuY2llcyJdfQ==-->Reviewed-on: https://git.tainton.uk/repos/pypilot/pulls/468
Reviewed-by: Luke Tainton <luke@tainton.uk>
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
luketainton pushed a commit to luketainton/repos_labmcp that referenced this pull request Jul 24, 2026
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | action | major | `v8.3.2` → `v9.0.0` |

---

### Release Notes

<details>
<summary>astral-sh/setup-uv (astral-sh/setup-uv)</summary>

### [`v9.0.0`](https://github.com/astral-sh/setup-uv/releases/tag/v9.0.0): 🌈 Change `prune-cache` default to `false`

[Compare Source](astral-sh/setup-uv@v8.3.2...v9.0.0)

##### Changes

This release disables the default cache cache pruning to ease the load on the PyPi infrastructure.
Since users might experience more GitHub Actions cache usage which might result in higher costs this is marked as a breaking change. To read more on why we did this (now) you can read the detailed analysis and reasoning in [#&#8203;967](astral-sh/setup-uv#967)

Besides this big breaking change we also have a small bugfix while building caches for linux distributions that behave a big different than the "big ones" and a speed up in version resolution by only reading the version manifest until a matching version is found saving runtime and network bandwith.

##### 🚨 Breaking changes

- Change `prune-cache` default to `false` [@&#8203;charliermarsh](https://github.com/charliermarsh) ([#&#8203;967](astral-sh/setup-uv#967))

##### 🐛 Bug fixes

- fix: fall back to distribution ID when os-release has no version field [@&#8203;cxzhong](https://github.com/cxzhong) ([#&#8203;961](astral-sh/setup-uv#961))

##### 🚀 Enhancements

- Speed up version client by partial response reads [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;807](astral-sh/setup-uv#807))

##### 🧰 Maintenance

- chore: update known checksums for 0.11.30 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;968](astral-sh/setup-uv#968))
- chore: update known checksums for 0.11.29 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;960](astral-sh/setup-uv#960))

##### 📚 Documentation

- docs: update version references to v8.3.2 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;949](astral-sh/setup-uv#949))

##### ⬆️ Dependency updates

- chore(deps): roll up Dependabot updates [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;970](astral-sh/setup-uv#970))
- chore(deps): roll up Dependabot updates [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;962](astral-sh/setup-uv#962))

</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 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.

---

 - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiI0My4yNzMuMCIsInVwZGF0ZWRJblZlciI6IjQzLjI3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJ0eXBlL2RlcGVuZGVuY2llcyJdfQ==-->Reviewed-on: https://git.tainton.uk/repos/labmcp/pulls/17
Reviewed-by: Luke Tainton <luke@tainton.uk>
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
phbaer pushed a commit to phbaer/ha-birthday-calendar that referenced this pull request Aug 9, 2026
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | action | major | `v7` → `v9.0.0` |

---

> ⚠️ **Warning**
>
> Some dependencies could not be looked up. Check the warning logs for more information.

---

### Release Notes

<details>
<summary>astral-sh/setup-uv (astral-sh/setup-uv)</summary>

### [`v9.0.0`](https://github.com/astral-sh/setup-uv/releases/tag/v9.0.0): 🌈 Change `prune-cache` default to `false`

[Compare Source](astral-sh/setup-uv@v8.3.2...v9.0.0)

##### Changes

This release disables the default cache cache pruning to ease the load on the PyPi infrastructure.
Since users might experience more GitHub Actions cache usage which might result in higher costs this is marked as a breaking change. To read more on why we did this (now) you can read the detailed analysis and reasoning in [#&#8203;967](astral-sh/setup-uv#967)

Besides this big breaking change we also have a small bugfix while building caches for linux distributions that behave a big different than the "big ones" and a speed up in version resolution by only reading the version manifest until a matching version is found saving runtime and network bandwith.

##### 🚨 Breaking changes

- Change `prune-cache` default to `false` [@&#8203;charliermarsh](https://github.com/charliermarsh) ([#&#8203;967](astral-sh/setup-uv#967))

##### 🐛 Bug fixes

- fix: fall back to distribution ID when os-release has no version field [@&#8203;cxzhong](https://github.com/cxzhong) ([#&#8203;961](astral-sh/setup-uv#961))

##### 🚀 Enhancements

- Speed up version client by partial response reads [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;807](astral-sh/setup-uv#807))

##### 🧰 Maintenance

- chore: update known checksums for 0.11.30 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;968](astral-sh/setup-uv#968))
- chore: update known checksums for 0.11.29 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;960](astral-sh/setup-uv#960))

##### 📚 Documentation

- docs: update version references to v8.3.2 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;949](astral-sh/setup-uv#949))

##### ⬆️ Dependency updates

- chore(deps): roll up Dependabot updates [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;970](astral-sh/setup-uv#970))
- chore(deps): roll up Dependabot updates [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;962](astral-sh/setup-uv#962))

### [`v8.3.2`](https://github.com/astral-sh/setup-uv/releases/tag/v8.3.2): 🌈 update known checksums for 0.11.28

[Compare Source](astral-sh/setup-uv@v8.3.1...v8.3.2)

##### Changes

Just a maintenance release

##### 🧰 Maintenance

- chore: update known checksums for 0.11.28 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;947](astral-sh/setup-uv#947))

##### 📚 Documentation

- docs: update version references to v8.3.1 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;946](astral-sh/setup-uv#946))

##### ⬆️ Dependency updates

- chore: roll up Dependabot updates [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;948](astral-sh/setup-uv#948))

### [`v8.3.1`](https://github.com/astral-sh/setup-uv/releases/tag/v8.3.1): 🌈 update known checksums for 0.11.27

[Compare Source](astral-sh/setup-uv@v8.3.0...v8.3.1)

##### Changes

Just a maintenance release

##### 🧰 Maintenance

- Change update-docs PR labels from 'update-docs' to 'documentation' [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;945](astral-sh/setup-uv#945))
- chore: update known checksums for 0.11.27 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;944](astral-sh/setup-uv#944))

##### 📚 Documentation

- docs: update version references to v8.3.0 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;939](astral-sh/setup-uv#939))

### [`v8.3.0`](https://github.com/astral-sh/setup-uv/releases/tag/v8.3.0): 🌈 Support uv.lock as a version-file source

[Compare Source](astral-sh/setup-uv@v8.2.0...v8.3.0)

##### Changes

Thanks to [@&#8203;somaz94](https://github.com/somaz94) you can now use the pinned version of uv itself in `uv.lock`. It gets picked up automatically.
If you have pinned another version of uv in your `uv.lock` you can use the inputs `version` or `version-source` to override this.

##### 🐛 Bug fixes

- Strip environment markers from detected uv dependency pins [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;938](astral-sh/setup-uv#938))
- Fix cache keys for Python version ranges [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;937](astral-sh/setup-uv#937))
- fix: use BUILD\_ID as backup for determining os version [@&#8203;hgaiser](https://github.com/hgaiser) ([#&#8203;912](astral-sh/setup-uv#912))

##### 🚀 Enhancements

- feat: support uv.lock as a version-file source [@&#8203;somaz94](https://github.com/somaz94) ([#&#8203;918](astral-sh/setup-uv#918))

##### 🧰 Maintenance

- ci: call docs update workflow from release [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;933](astral-sh/setup-uv#933))
- chore: update known checksums for 0.11.26 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;930](astral-sh/setup-uv#930))
- chore: update known checksums for 0.11.25 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;929](astral-sh/setup-uv#929))
- chore: update known checksums for 0.11.24 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;925](astral-sh/setup-uv#925))
- chore: update known checksums for 0.11.23 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;922](astral-sh/setup-uv#922))
- chore: update known checksums for 0.11.22 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;921](astral-sh/setup-uv#921))
- chore: update known checksums for 0.11.21 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;917](astral-sh/setup-uv#917))
- chore: update known checksums for 0.11.20 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;915](astral-sh/setup-uv#915))
- chore: update known checksums for 0.11.19 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;909](astral-sh/setup-uv#909))

##### 📚 Documentation

- docs: update version references to v8.2.0 [@&#8203;KRRT7](https://github.com/KRRT7) ([#&#8203;932](astral-sh/setup-uv#932))
- Add a threat model for setup-uv [@&#8203;zsol](https://github.com/zsol) ([#&#8203;923](astral-sh/setup-uv#923))

##### ⬆️ Dependency updates

- chore(deps): roll up Dependabot updates [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;936](astral-sh/setup-uv#936))
- chore(deps): bump release-drafter/release-drafter from 7.3.1 to 7.4.0 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;924](astral-sh/setup-uv#924))
- chore(deps): bump actions/checkout from 6.0.2 to 7.0.0 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;926](astral-sh/setup-uv#926))

### [`v8.2.0`](https://github.com/astral-sh/setup-uv/releases/tag/v8.2.0): 🌈 New inputs `quiet` and `download-from-astral-mirror`

[Compare Source](astral-sh/setup-uv@v8.1.0...v8.2.0)

##### Changes

This release brings two new inputs and a few bug fixes.

##### New inputs

Lets talk about the new inputs first.

##### quiet

Pretty simple. It turns of all `info` loggings. Useful if you use this in a composite action and are not interested in all the details.
In the upcoming releases we will add log groups to fully implement support for "less noise"

> \[!NOTE]\
> Warnings and errors are always logged.

##### download-from-astral-mirror

In some cases you may want to directly use the fallback of checking for available versions and downloading releases from GitHub instead of using the astral.sh mirror. Setting `download-from-astral-mirror: false` allows you to do that.

##### Bugfixes

When using the astral.sh mirror to query available versions and download releases (done by default) we now stop sending the GitHub token in the header. The mirror never looked at it but we shouldn't be handing out that data even if it is just a short lived token.
All other bugfixes try to limit the impact of failed GitHub queries due to retries and other faults.

We couldn't pinpoint all rootcauses yet but added more logging for error cases to track them down.

##### 🐛 Bug fixes

- fix: report unexpected cache save failures [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;896](astral-sh/setup-uv#896))
- fix: report unexpected setup failures [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;895](astral-sh/setup-uv#895))
- fix: add timeout to fetch to prevent silent hangs [@&#8203;eifinger-bot](https://github.com/eifinger-bot) ([#&#8203;883](astral-sh/setup-uv#883))
- Limit GitHub tokens to github.com download URLs [@&#8203;zsol](https://github.com/zsol) ([#&#8203;878](astral-sh/setup-uv#878))
- increase libuv-workaround timeout to 100ms [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;880](astral-sh/setup-uv#880))

##### 🚀 Enhancements

- Add quiet input to suppress info-level log output [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;898](astral-sh/setup-uv#898))
- feat: add `download-from-astral-mirror` input [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;897](astral-sh/setup-uv#897))

##### 🧰 Maintenance

- docs: update dependabot rollup biome guidance [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;902](astral-sh/setup-uv#902))
- chore: update known checksums for 0.11.18 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;899](astral-sh/setup-uv#899))
- chore: update known checksums for 0.11.17 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;892](astral-sh/setup-uv#892))
- chore: update known checksums for 0.11.16 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;889](astral-sh/setup-uv#889))
- chore: update known checksums for 0.11.15 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;885](astral-sh/setup-uv#885))
- chore: update known checksums for 0.11.14 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;879](astral-sh/setup-uv#879))
- chore: update known checksums for 0.11.13 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;877](astral-sh/setup-uv#877))
- chore: update known checksums for 0.11.12 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;876](astral-sh/setup-uv#876))
- chore: update known checksums for 0.11.11 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;873](astral-sh/setup-uv#873))
- chore: update known checksums for 0.11.9/0.11.10 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;871](astral-sh/setup-uv#871))
- chore: update known checksums for 0.11.8 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;867](astral-sh/setup-uv#867))
- Bump setup-uv references to v8.1.0 SHA in docs [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;862](astral-sh/setup-uv#862))
- Add update-docs.yml workflow [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;861](astral-sh/setup-uv#861))

##### ⬆️ Dependency updates

- chore(deps): roll up dependabot updates [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;903](astral-sh/setup-uv#903))
- chore(deps): roll up dependabot updates [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;901](astral-sh/setup-uv#901))
- chore(deps): bump release-drafter/release-drafter from 7.3.0 to 7.3.1 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;900](astral-sh/setup-uv#900))
- chore(deps): bump eifinger/actionlint-action from 1.10.1 to 1.10.2 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;842](astral-sh/setup-uv#842))
- chore(deps): bump github/codeql-action from 4.35.4 to 4.36.0 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;893](astral-sh/setup-uv#893))
- chore(deps): bump zizmorcore/zizmor-action from 0.5.5 to 0.5.6 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;891](astral-sh/setup-uv#891))
- chore(deps): bump release-drafter/release-drafter from 7.2.0 to 7.3.0 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;884](astral-sh/setup-uv#884))
- chore(deps): bump zizmorcore/zizmor-action from 0.5.3 to 0.5.5 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;888](astral-sh/setup-uv#888))
- chore(deps): bump github/codeql-action from 4.35.3 to 4.35.4 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;881](astral-sh/setup-uv#881))
- chore(deps): bump github/codeql-action from 4.32.2 to 4.35.3 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;875](astral-sh/setup-uv#875))
- chore(deps): bump actions/setup-node from 6.3.0 to 6.4.0 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;866](astral-sh/setup-uv#866))
- chore(deps): bump zizmorcore/zizmor-action from 0.5.2 to 0.5.3 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;864](astral-sh/setup-uv#864))
- chore(deps): bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;863](astral-sh/setup-uv#863))

### [`v8.1.0`](https://github.com/astral-sh/setup-uv/releases/tag/v8.1.0): 🌈 New input `no-project`

[Compare Source](astral-sh/setup-uv@v8.0.0...v8.1.0)

##### Changes

This add the a new boolean input `no-project`.
It only makes sense to use in combination with `activate-environment: true` and will append `--no project` to the `uv venv` call. This is for example useful [if you have a pyproject.toml file with parts unparseable by uv](astral-sh/setup-uv#854)

##### 🚀 Enhancements

- Add input no-project in combination with activate-environment [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;856](astral-sh/setup-uv#856))

##### 🧰 Maintenance

- fix: grant contents:write to validate-release job [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;860](astral-sh/setup-uv#860))
- Add a release-gate step to the release workflow [@&#8203;zanieb](https://github.com/zanieb) ([#&#8203;859](astral-sh/setup-uv#859))
- Draft commitish releases [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;858](astral-sh/setup-uv#858))
- Add action-types.yml to instructions [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;857](astral-sh/setup-uv#857))
- chore: update known checksums for 0.11.7 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;853](astral-sh/setup-uv#853))
- Refactor version resolving [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;852](astral-sh/setup-uv#852))
- chore: update known checksums for 0.11.6 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;850](astral-sh/setup-uv#850))
- chore: update known checksums for 0.11.5 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;845](astral-sh/setup-uv#845))
- chore: update known checksums for 0.11.4 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;843](astral-sh/setup-uv#843))
- Add a release workflow [@&#8203;zanieb](https://github.com/zanieb) ([#&#8203;839](astral-sh/setup-uv#839))
- chore: update known checksums for 0.11.3 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;836](astral-sh/setup-uv#836))

##### 📚 Documentation

- Update ignore-nothing-to-cache documentation [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;833](astral-sh/setup-uv#833))
- Pin setup-uv docs to v8 [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;829](astral-sh/setup-uv#829))

##### ⬆️ Dependency updates

- chore(deps): bump release-drafter/release-drafter from 7.1.1 to 7.2.0 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;855](astral-sh/setup-uv#855))

### [`v8.0.0`](https://github.com/astral-sh/setup-uv/releases/tag/v8.0.0): 🌈 Immutable releases and secure tags

[Compare Source](astral-sh/setup-uv@v7.6.0...v8.0.0)

##### This is the first immutable release of `setup-uv` 🥳

All future releases are also immutable, if you want to know more about what this means checkout [the docs](https://docs.github.com/en/code-security/concepts/supply-chain-security/immutable-releases).

This release also has two breaking changes

##### New format for `manifest-file`

The previously deprecated way of defining a custom version manifest to control which `uv` versions are available and where to download them from got removed. The functionality is still there but you have to use the [new format](https://github.com/astral-sh/setup-uv/blob/main/docs/customization.md#format).

##### No more major and minor tags

To increase **security** even more we will **stop publishing minor tags**. You won't be able to use `@v8` or `@v8.0` any longer. We do this because pinning to major releases opens up users to supply chain attacks like what happened to [tj-actions](https://unit42.paloaltonetworks.com/github-actions-supply-chain-attack/).

> \[!TIP]
> Use the immutable tag as a version `astral-sh/setup-uv@v8.0.0`
> Or even better the githash `astral-sh/setup-uv@cec208311dfd045dd5311c1add060b2062131d57`

##### 🚨 Breaking changes

- Remove update-major-minor-tags workflow [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;826](astral-sh/setup-uv#826))
- Remove deprecrated custom manifest [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;813](astral-sh/setup-uv#813))

##### 🧰 Maintenance

- Shortcircuit latest version from manifest [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;828](astral-sh/setup-uv#828))
- Simplify inputs.ts [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;827](astral-sh/setup-uv#827))
- Bump release-drafter to v7.1.1 [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;825](astral-sh/setup-uv#825))
- Refactor inputs [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;823](astral-sh/setup-uv#823))
- Replace inline compile args with tsconfig [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;824](astral-sh/setup-uv#824))
- chore: update known checksums for 0.11.2 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;821](astral-sh/setup-uv#821))
- chore: update known checksums for 0.11.1 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;817](astral-sh/setup-uv#817))
- chore: update known checksums for 0.11.0 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;815](astral-sh/setup-uv#815))
- Fix latest-version workflow check [@&#8203;eifinger](https://github.com/eifinger) ([#&#8203;812](astral-sh/setup-uv#812))
- chore: update known checksums for 0.10.11/0.10.12 @&#8203;[github-actions\[bot\]](https://github.com/apps/github-actions) ([#&#8203;811](astral-sh/setup-uv#811))

</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:eyJjcmVhdGVkSW5WZXIiOiI0My4yNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: https://git.baer.one/phbaer/ha-birthday-calendar/pulls/12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants