Skip to content

Conversation

jdx
Copy link
Owner

@jdx jdx commented Jul 14, 2025

Add inspect_tar_contents and should_strip_components to file.rs. Update install_artifact to only extract once, improving efficiency and avoiding redundant extraction for single-directory tars.

jdx added 9 commits July 13, 2025 22:18
…xtracting\n\nAdd inspect_tar_contents and should_strip_components to file.rs. Update install_artifact to only extract once, improving efficiency and avoiding redundant extraction for single-directory tars.
@Copilot Copilot AI review requested due to automatic review settings July 14, 2025 04:56
Copy link
Contributor

@Copilot Copilot AI left a comment

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 enhances archive handling and release resolution by adding tar-content inspection to avoid redundant extraction, implements flexible version-prefix support for GitHub/GitLab backends, and centralizes asset detection into a shared module. Documentation is updated to reflect auto-detection behaviors across backends.

  • Introduce inspect_tar_contents and should_strip_components to perform a single-pass tar extraction
  • Refactor GitHub/GitLab version handling with try_with_v_prefix and shared asset_detector module
  • Update documentation for asset auto-detection, libc variants, and custom version prefixes

Reviewed Changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/file.rs Add tar-inspection helpers and fix BzDecoder imports
src/backend/static_helpers.rs Auto-detect strip_components=1 before extracting archives
src/backend/mod.rs Register new asset_detector module
src/backend/github.rs Handle missing “v” prefix, remove inline detector, use shared logic
src/backend/asset_detector.rs New shared asset detection module with OS/arch/libc scoring
e2e/backend/test_github_ripgrep Add end-to-end script for ripgrep installation test
docs/dev-tools/backends/http.md Document tar auto-detection behavior
docs/dev-tools/backends/gitlab.md Document libc variants, version_prefix, and auto-detection
docs/dev-tools/backends/github.md Document libc variants, version_prefix, and auto-detection
Comments suppressed due to low confidence (6)

src/file.rs:882

  • There are no tests covering inspect_tar_contents or should_strip_components. Add unit tests for various archive structures (e.g., single file, single dir, multiple entries) to prevent regressions.
#[cfg(test)]

docs/dev-tools/backends/http.md:117

  • The documentation mentions 'no files' at root, but the implementation only checks for a single top-level entry. Either update the docs to match the current behavior or enhance the code to verify entry types and file presence.
**Auto-detection:** If `strip_components` is not explicitly set, mise will automatically detect when to apply `strip_components = 1`. This happens when the extracted archive contains exactly one directory at the root level and no files. This is common with tools like ripgrep that package their binaries in a versioned directory (e.g., `ripgrep-14.1.0-x86_64-unknown-linux-musl/rg`). The auto-detection ensures the binary is placed directly in the install path where mise expects it.

docs/dev-tools/backends/gitlab.md:148

  • [nitpick] The auto-detection section is duplicated later in the file; consider removing one of the instances to avoid redundant documentation.
**Auto-detection:** If `strip_components` is not explicitly set, mise will automatically detect when to apply `strip_components = 1`. This happens when the extracted archive contains exactly one directory at the root level and no files. This is common with tools like ripgrep that package their binaries in a versioned directory (e.g., `ripgrep-14.1.0-x86_64-unknown-linux-musl/rg`). The auto-detection ensures the binary is placed directly in the install path where mise expects it.

src/backend/github.rs:1

  • The asset_detector import is no longer used in this file after refactoring; consider removing it to avoid dead-code warnings.
use crate::backend::asset_detector;

src/backend/github.rs:230

  • The eyre! macro uses format-like syntax and does not perform Rust named-parameter interpolation. Replace {version} with a positional argument, e.g., "No matching release found for {}", version.
            .unwrap_or_else(|| eyre::eyre!("No matching release found for {version}")))

e2e/backend/test_github_ripgrep:1

  • This test script has a shebang but isn't marked executable in the repo. Add execute permission (chmod +x) so it runs as intended in CI.
#!/usr/bin/env bash

src/file.rs Outdated
Comment on lines 870 to 876
// If there's exactly one top-level entry, we might want to strip it
if top_level_entries.len() == 1 {
// For now, we'll assume it's a directory that should be stripped
// This is a conservative approach - we could make this more sophisticated
// by checking if the entry is actually a directory, but that would require
// more complex tar inspection
Ok(true)
Copy link
Preview

Copilot AI Jul 14, 2025

Choose a reason for hiding this comment

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

should_strip_components currently only checks for a single entry regardless of its type. To avoid stripping a single file as if it were a directory, extend the logic to inspect the tar entry header (e.g., using entry.header().entry_type().is_dir()) before returning true.

Suggested change
// If there's exactly one top-level entry, we might want to strip it
if top_level_entries.len() == 1 {
// For now, we'll assume it's a directory that should be stripped
// This is a conservative approach - we could make this more sophisticated
// by checking if the entry is actually a directory, but that would require
// more complex tar inspection
Ok(true)
// If there's exactly one top-level entry, check if it's a directory
if top_level_entries.len() == 1 {
let (_, is_dir) = &top_level_entries[0];
Ok(*is_dir)

Copilot uses AI. Check for mistakes.

src/file.rs Outdated
// Get the first component of the path (top-level directory/file)
if let Some(first_component) = path.components().next() {
let name = first_component.as_os_str().to_string_lossy().to_string();
if !top_level_entries.contains(&name) {
Copy link
Preview

Copilot AI Jul 14, 2025

Choose a reason for hiding this comment

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

[nitpick] Using Vec::contains inside a loop leads to O(n²) behavior for large archives. Consider using a HashSet to dedupe top-level entries more efficiently.

Copilot uses AI. Check for mistakes.

Combines both pre-extraction and post-extraction strip_components detection
for robust archive handling.
cursor[bot]

This comment was marked as outdated.

@jdx jdx changed the title rg fix fix(backend): avoid double untar Jul 14, 2025
cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

@jdx jdx enabled auto-merge (squash) July 14, 2025 05:19
@jdx jdx merged commit bd19cce into main Jul 14, 2025
18 checks passed
@jdx jdx deleted the rg-fix branch July 14, 2025 05:22
Copy link

Hyperfine Performance

mise x -- echo

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2025.7.9 x -- echo 18.2 ± 0.6 17.4 20.3 1.01 ± 0.04
mise x -- echo 18.0 ± 0.2 17.5 18.9 1.00

mise env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2025.7.9 env 17.3 ± 0.3 16.8 20.0 1.00
mise env 17.6 ± 0.4 16.9 22.2 1.02 ± 0.03

mise hook-env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2025.7.9 hook-env 17.0 ± 0.3 16.5 18.8 1.00
mise hook-env 17.2 ± 0.2 16.7 18.0 1.01 ± 0.02

mise ls

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2025.7.9 ls 15.1 ± 0.2 14.7 15.9 1.00 ± 0.02
mise ls 15.1 ± 0.2 14.7 15.9 1.00

xtasks/test/perf

Command mise-2025.7.9 mise Variance
install (uncached) 763ms ⚠️ 998ms -23%
install (cached) 125ms 124ms +0%
ls (uncached) 693ms 694ms +0%
ls (cached) 79ms 79ms +0%
bin-paths (uncached) 697ms ⚠️ 904ms -22%
bin-paths (cached) 64ms 64ms +0%
task-ls (uncached) 3167ms 3357ms -5%
task-ls (cached) 263ms 263ms +0%

⚠️ Warning: install uncached performance variance is -23%
⚠️ Warning: bin-paths uncached performance variance is -22%

jdx pushed a commit that referenced this pull request Jul 14, 2025
### 🐛 Bug Fixes

- **(backend)** avoid double untar by [@jdx](https://github.com/jdx) in
[#5626](#5626)
- **(github)** handle missing "v" prefix by
[@jdx](https://github.com/jdx) in
[#5625](#5625)

### 📚 Documentation

- add asset autodetection documentation to GitHub/GitLab backends by
[@jdx](https://github.com/jdx) in
[#5623](#5623)
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Jul 17, 2025
## [2025.7.11](https://github.com/jdx/mise/compare/v2025.7.10..v2025.7.11) - 2025-07-16

### 🚀 Features

- support extracting 7z archives for static backends by [@yjoer](https://github.com/yjoer) in [#5632](jdx/mise#5632)

### 🐛 Bug Fixes

- **(aqua)** improve warnings for packages without repo_owner and repo_name by [@risu729](https://github.com/risu729) in [#5644](jdx/mise#5644)
- **(generate)** fix task docs inject by [@risu729](https://github.com/risu729) in [#5651](jdx/mise#5651)
- **(static)** support `strip_components` for zip files by [@risu729](https://github.com/risu729) in [#5631](jdx/mise#5631)
- private forges by [@hamnis](https://github.com/hamnis) in [#5650](jdx/mise#5650)

### 🚜 Refactor

- **(aqua)** move no_aset and error_message checks into validate by [@risu729](https://github.com/risu729) in [#5649](jdx/mise#5649)

### 📚 Documentation

- **(vfox)** replace deprecated asdf and vfox settings with disable_backends by [@risu729](https://github.com/risu729) in [#5652](jdx/mise#5652)
- tweak static backend docs by [@jdx](https://github.com/jdx) in [#5627](jdx/mise#5627)

### 🧪 Testing

- **(e2e)** move test_github_auto_detect to correct directory by [@risu729](https://github.com/risu729) in [#5640](jdx/mise#5640)

### New Contributors

- @hamnis made their first contribution in [#5650](jdx/mise#5650)

## [2025.7.10](https://github.com/jdx/mise/compare/v2025.7.9..v2025.7.10) - 2025-07-14

### 🐛 Bug Fixes

- **(backend)** avoid double untar by [@jdx](https://github.com/jdx) in [#5626](jdx/mise#5626)
- **(github)** handle missing "v" prefix by [@jdx](https://github.com/jdx) in [#5625](jdx/mise#5625)

### 📚 Documentation

- add asset autodetection documentation to GitHub/GitLab backends by [@jdx](https://github.com/jdx) in [#5623](jdx/mise#5623)

## [2025.7.9](https://github.com/jdx/mise/compare/v2025.7.8..v2025.7.9) - 2025-07-14

### 🚀 Features

- **(shim)** prevent mise-specific flags from interfering with shim execution by [@jdx](https://github.com/jdx) in [#5616](jdx/mise#5616)
- github asset auto-detection by [@jdx](https://github.com/jdx) in [#5622](jdx/mise#5622)

### 🐛 Bug Fixes

- resolve GitHub alias tool name parsing and add platform-specific asset support by [@jdx](https://github.com/jdx) in [#5621](jdx/mise#5621)

## [2025.7.8](https://github.com/jdx/mise/compare/v2025.7.7..v2025.7.8) - 2025-07-13

### 🚀 Features

- custom backends through plugins by [@jdx](https://github.com/jdx) in [#5579](jdx/mise#5579)
- nested tool options by [@jdx](https://github.com/jdx) in [#5614](jdx/mise#5614)

### 🐛 Bug Fixes

- accept platform_ or platforms_ in http/github backends by [@jdx](https://github.com/jdx) in [#5608](jdx/mise#5608)

### 📚 Documentation

- correct toml syntax by [@jdx](https://github.com/jdx) in [#5609](jdx/mise#5609)
- removed some markdownlint rules by [@jdx](https://github.com/jdx) in [#5615](jdx/mise#5615)

## [2025.7.7](https://github.com/jdx/mise/compare/v2025.7.4..v2025.7.7) - 2025-07-13

### 🚀 Features

- add static backends (Github, GitLab, and HTTP) by [@jdx](https://github.com/jdx) in [#5602](jdx/mise#5602)
- blake3 support by [@jdx](https://github.com/jdx) in [#5605](jdx/mise#5605)

### 🐛 Bug Fixes

- **(e2e)** simplify test path handling logic by [@jdx](https://github.com/jdx) in [#5600](jdx/mise#5600)
- skip gh release edit on dry run in release workflow by [@jdx](https://github.com/jdx) in [#5603](jdx/mise#5603)

### 📚 Documentation

- **(cursor)** fix conventional commits rule formatting by [@jdx](https://github.com/jdx) in [#5597](jdx/mise#5597)
- **(cursor)** add testing rule for mise codebase by [@jdx](https://github.com/jdx) in [#5598](jdx/mise#5598)

### 🧪 Testing

- disable cmake test for now by [@jdx](https://github.com/jdx) in [d521c31](jdx/mise@d521c31)

### 📦️ Dependency Updates

- pin dependencies by [@renovate[bot]](https://github.com/renovate[bot]) in [#5511](jdx/mise#5511)

### Chore

- **(release)** mark a release as draft until assets are added by [@risu729](https://github.com/risu729) in [#5584](jdx/mise#5584)
- added reverts to git-cliff by [@jdx](https://github.com/jdx) in [#5577](jdx/mise#5577)
- reduce binary size for linux by [@jdx](https://github.com/jdx) in [#5587](jdx/mise#5587)
- `cargo check` fixes by [@jdx](https://github.com/jdx) in [#5589](jdx/mise#5589)
- Merge vfox.rs into jdx/mise monorepo by [@jdx](https://github.com/jdx) in [#5590](jdx/mise#5590)
- Add cursor rule for conventional commits by [@jdx](https://github.com/jdx) in [#5592](jdx/mise#5592)
- Create GitHub action for vfox.rs tests by [@jdx](https://github.com/jdx) in [#5593](jdx/mise#5593)
- tweak paths for test-vfox workflow by [@jdx](https://github.com/jdx) in [0189372](jdx/mise@0189372)
- set workspace resolver by [@jdx](https://github.com/jdx) in [#5606](jdx/mise#5606)
- add workspace resolver = 3 by [@jdx](https://github.com/jdx) in [304547a](jdx/mise@304547a)
- fix release-plz with workspace by [@jdx](https://github.com/jdx) in [5b3be6e](jdx/mise@5b3be6e)
- only bump mise version for release-plz by [@jdx](https://github.com/jdx) in [8f14d10](jdx/mise@8f14d10)
- add cargo-release by [@jdx](https://github.com/jdx) in [f657db5](jdx/mise@f657db5)
- mise up by [@jdx](https://github.com/jdx) in [4872ae6](jdx/mise@4872ae6)
- fix release-plz with workspace by [@jdx](https://github.com/jdx) in [bdb7119](jdx/mise@bdb7119)
- set-version by [@jdx](https://github.com/jdx) in [82fcd4f](jdx/mise@82fcd4f)
- set-version by [@jdx](https://github.com/jdx) in [54388a4](jdx/mise@54388a4)
- set-version by [@jdx](https://github.com/jdx) in [fe0a0a9](jdx/mise@fe0a0a9)
- set-version by [@jdx](https://github.com/jdx) in [d9f24e2](jdx/mise@d9f24e2)
- set-version by [@jdx](https://github.com/jdx) in [97f6f4f](jdx/mise@97f6f4f)
- set-version by [@jdx](https://github.com/jdx) in [13296e1](jdx/mise@13296e1)
- set-version by [@jdx](https://github.com/jdx) in [587a707](jdx/mise@587a707)
- set-version by [@jdx](https://github.com/jdx) in [1e80d52](jdx/mise@1e80d52)

## [2025.7.4](https://github.com/jdx/mise/compare/v2025.7.3..v2025.7.4) - 2025-07-11

### 🐛 Bug Fixes

- **(aqua)** align version resolution logic in list_bin_paths by [@risu729](https://github.com/risu729) in [#5562](jdx/mise#5562)
- Xonsh integration by [@jfmontanaro](https://github.com/jfmontanaro) in [#5557](jdx/mise#5557)

### 📚 Documentation

- create comprehensive architecture documentation suite and enhance development guides by [@jdx](https://github.com/jdx) in [d2b4a05](jdx/mise@d2b4a05)

### ◀️ Revert

- Revert "fix(aqua): align version resolution logic in list_bin_paths" by [@jdx](https://github.com/jdx) in [#5574](jdx/mise#5574)

### 📦️ Dependency Updates

- update rust crate bzip2 to 0.6 by [@renovate[bot]](https://github.com/renovate[bot]) in [#5568](jdx/mise#5568)
- update rust crate clap_mangen to v0.2.28 by [@renovate[bot]](https://github.com/renovate[bot]) in [#5566](jdx/mise#5566)
- update rust crate clap to v4.5.41 by [@renovate[bot]](https://github.com/renovate[bot]) in [#5565](jdx/mise#5565)
- update rust crate taplo to 0.14 by [@renovate[bot]](https://github.com/renovate[bot]) in [#5158](jdx/mise#5158)

### Chore

- added xonsh for release builds by [@jdx](https://github.com/jdx) in [#5561](jdx/mise#5561)
- enable backtrace lines on panic by [@jdx](https://github.com/jdx) in [#5571](jdx/mise#5571)
- shfmt update by [@jdx](https://github.com/jdx) in [67ee245](jdx/mise@67ee245)

### New Contributors

- @jfmontanaro made their first contribution in [#5557](jdx/mise#5557)

## [2025.7.3](https://github.com/jdx/mise/compare/v2025.7.2..v2025.7.3) - 2025-07-10

### 🚀 Features

- **(registry)** add vfox by [@risu729](https://github.com/risu729) in [#5551](jdx/mise#5551)

### 🐛 Bug Fixes

- **(aqua)** show other backends suggestion for unsupported package types by [@risu729](https://github.com/risu729) in [#5547](jdx/mise#5547)
- **(registry)** use aqua and fix ubi options for yamlscript by [@risu729](https://github.com/risu729) in [#5538](jdx/mise#5538)
- **(registry)** add java and yq to android-sdk dependencies by [@risu729](https://github.com/risu729) in [#5545](jdx/mise#5545)
- **(schema)** broken $schema ref by [@tpansino](https://github.com/tpansino) in [#5540](jdx/mise#5540)
- auto_install_disable_tools env var by [@jdx](https://github.com/jdx) in [#5543](jdx/mise#5543)
- do not overwrite github tokens environment variables by [@risu729](https://github.com/risu729) in [#5546](jdx/mise#5546)

### Chore

- update Cargo.lock by [@risu729](https://github.com/risu729) in [#5549](jdx/mise#5549)

### New Contributors

- @tpansino made their first contribution in [#5540](jdx/mise#5540)

## [2025.7.2](https://github.com/jdx/mise/compare/v2025.7.1..v2025.7.2) - 2025-07-09

### 🚀 Features

- **(registry)** add zizmor by [@risu729](https://github.com/risu729) in [#5519](jdx/mise#5519)
- Add `self_update_available` to `mise doctor` output by [@joehorsnell](https://github.com/joehorsnell) in [#5534](jdx/mise#5534)

### 🐛 Bug Fixes

- **(aqua)** use the version in url to verify and install by [@risu729](https://github.com/risu729) in [#5537](jdx/mise#5537)
- **(registry)** use aqua for numbat, gokey, golines by [@risu729](https://github.com/risu729) in [#5518](jdx/mise#5518)
- `self-update` on MITM firewall (attempt #2) by [@joehorsnell](https://github.com/joehorsnell) in [#5459](jdx/mise#5459)
- mise panic in removed directory by [@roele](https://github.com/roele) in [#5532](jdx/mise#5532)

### 📚 Documentation

- update ubi tag_regex syntax by [@grimm26](https://github.com/grimm26) in [#5529](jdx/mise#5529)

### 🧪 Testing

- disable yamlscript test by [@jdx](https://github.com/jdx) in [#5536](jdx/mise#5536)

### New Contributors

- @grimm26 made their first contribution in [#5529](jdx/mise#5529)

## [2025.7.1](https://github.com/jdx/mise/compare/v2025.7.0..v2025.7.1) - 2025-07-06

### 🚀 Features

- **(aqua)** add support for zst compressed assets by [@andreabedini](https://github.com/andreabedini) in [#5495](jdx/mise#5495)
- **(registry)** import package descriptions from aqua and add os specifier for tuist by [@matracey](https://github.com/matracey) in [#5487](jdx/mise#5487)

### 🐛 Bug Fixes

- **(aqua)** handle hard links in aqua packages (attempt #2) by [@risu729](https://github.com/risu729) in [#5486](jdx/mise#5486)
- **(aqua)** apply correct `version_override` by [@risu729](https://github.com/risu729) in [#5474](jdx/mise#5474)
- **(erlang)** fix install_precompiled method signature for unsupported os by [@roele](https://github.com/roele) in [#5503](jdx/mise#5503)
- **(java)** relax version filter regex for JetBrains builds by [@roele](https://github.com/roele) in [#5508](jdx/mise#5508)
- **(registry)** use aqua backend for bat by [@risu729](https://github.com/risu729) in [#5490](jdx/mise#5490)
- **(registry)** use pipx backend for aws-sam on windows by [@risu729](https://github.com/risu729) in [#5491](jdx/mise#5491)
- enhance self-update for musl targets by [@roele](https://github.com/roele) in [#5502](jdx/mise#5502)
- include arch and os settings in cache keys by [@risu729](https://github.com/risu729) in [#5504](jdx/mise#5504)

### 🧪 Testing

- **(registry)** enable youtube-dl test by [@risu729](https://github.com/risu729) in [#5492](jdx/mise#5492)

### 📦️ Dependency Updates

- update swatinem/rust-cache digest to 98c8021 by [@renovate[bot]](https://github.com/renovate[bot]) in [#5512](jdx/mise#5512)

### New Contributors

- @matracey made their first contribution in [#5487](jdx/mise#5487)
- @andreabedini made their first contribution in [#5495](jdx/mise#5495)

## [2025.7.0](https://github.com/jdx/mise/compare/v2025.6.8..v2025.7.0) - 2025-07-01

### 🚀 Features

- **(registry)** adds gemini-cli by [@risu729](https://github.com/risu729) in [#5447](jdx/mise#5447)
- **(registry)** adds npm backended tools by [@risu729](https://github.com/risu729) in [#5446](jdx/mise#5446)
- **(registry)** add powershell alias by [@risu729](https://github.com/risu729) in [#5449](jdx/mise#5449)
- **(registry)** add dagu by [@yottahmd](https://github.com/yottahmd) in [#5476](jdx/mise#5476)
- **(registry)** update aws-sam backends to include aqua source by [@yashikota](https://github.com/yashikota) in [#5461](jdx/mise#5461)
- **(registry)** use ubi backend for youtube-dl nightly releases by [@risu729](https://github.com/risu729) in [#5466](jdx/mise#5466)

### 🐛 Bug Fixes

- **(aqua)** update victoria-metrics package name casing by [@shikharbhardwaj](https://github.com/shikharbhardwaj) in [#5483](jdx/mise#5483)
- **(aqua)** handle hard links in aqua packages by [@risu729](https://github.com/risu729) in [#5463](jdx/mise#5463)
- **(bun)** enhance architecture detection for musl targets by [@roele](https://github.com/roele) in [#5450](jdx/mise#5450)
- **(erlang)** use precompiled ubuntu binaries on GHA by [@paradox460](https://github.com/paradox460) in [#5439](jdx/mise#5439)
- **(erlang)** add `install_precompiled` for unsupported os by [@risu729](https://github.com/risu729) in [#5479](jdx/mise#5479)
- **(registry)** use aqua backend for cargo-make by [@risu729](https://github.com/risu729) in [#5465](jdx/mise#5465)
- **(registry)** use aqua backends for all available tools by [@risu729](https://github.com/risu729) in [#5467](jdx/mise#5467)
- `parse_command` passing `-c` flag to cmd.exe by [@IMXEren](https://github.com/IMXEren) in [#5441](jdx/mise#5441)

### 🧪 Testing

- **(registry)** disable bitwarden test by [@risu729](https://github.com/risu729) in [#5468](jdx/mise#5468)

### ◀️ Revert

- Revert "chore(deps): pin dependencies" by [@jdx](https://github.com/jdx) in [#5453](jdx/mise#5453)
- Revert "fix(aqua): handle hard links in aqua packages" by [@jdx](https://github.com/jdx) in [#5485](jdx/mise#5485)

### 📦️ Dependency Updates

- pin dependencies by [@renovate[bot]](https://github.com/renovate[bot]) in [#5443](jdx/mise#5443)
- update jdx/mise-action digest to 5cb1df6 by [@renovate[bot]](https://github.com/renovate[bot]) in [#5444](jdx/mise#5444)

### Chore

- disable automatic cargo up due to windows build failure in homedir crate by [@jdx](https://github.com/jdx) in [7570d0a](jdx/mise@7570d0a)

### Ci

- **(test)** run `apt-get update` before `apt-get install` by [@risu729](https://github.com/risu729) in [#5448](jdx/mise#5448)

### New Contributors

- @yashikota made their first contribution in [#5461](jdx/mise#5461)
- @yottahmd made their first contribution in [#5476](jdx/mise#5476)
- @IMXEren made their first contribution in [#5441](jdx/mise#5441)

## [2025.6.8](https://github.com/jdx/mise/compare/v2025.6.7..v2025.6.8) - 2025-06-26

### 🚀 Features

- **(java)** add support for tar.xz in Java core plugin to support RedHat JDKs by [@roele](https://github.com/roele) in [#5354](jdx/mise#5354)
- **(registry)** add osv-scanner by [@scop](https://github.com/scop) in [#5413](jdx/mise#5413)
- **(registry)** add scorecard by [@scop](https://github.com/scop) in [#5410](jdx/mise#5410)
- **(registry)** add docker cli by [@acesyde](https://github.com/acesyde) in [#5344](jdx/mise#5344)
- **(registry)** add claude code by [@lelouvincx](https://github.com/lelouvincx) in [#5420](jdx/mise#5420)
- **(registry)** add aws `cfn-lint` by [@garysassano](https://github.com/garysassano) in [#5434](jdx/mise#5434)
- added graphite by [@jdx](https://github.com/jdx) in [#5429](jdx/mise#5429)

### 🐛 Bug Fixes

- **(erlang)** use precompiled binaries for linux ubuntu by [@paradox460](https://github.com/paradox460) in [#5402](jdx/mise#5402)
- **(ubi)** checksum generation might fail if extract_all option is used by [@roele](https://github.com/roele) in [#5394](jdx/mise#5394)
- `self-update` on MITM firewall by [@joehorsnell](https://github.com/joehorsnell) in [#5387](jdx/mise#5387)
- lint warning by [@jdx](https://github.com/jdx) in [#5425](jdx/mise#5425)
- only warn on toolset resolve errors by [@jdx](https://github.com/jdx) in [#5435](jdx/mise#5435)

### 🚜 Refactor

- **(registry)** use pipx for semgrep by [@scop](https://github.com/scop) in [#5423](jdx/mise#5423)
- **(registry)** add backends and tests by [@risu729](https://github.com/risu729) in [#5388](jdx/mise#5388)

### ◀️ Revert

- Revert "fix: `self-update` on MITM firewall" by [@jdx](https://github.com/jdx) in [#5427](jdx/mise#5427)

### Ci

- unpin hyperfine by [@risu729](https://github.com/risu729) in [#5411](jdx/mise#5411)

### New Contributors

- @paradox460 made their first contribution in [#5402](jdx/mise#5402)
- @lelouvincx made their first contribution in [#5420](jdx/mise#5420)

## [2025.6.7](https://github.com/jdx/mise/compare/v2025.6.6..v2025.6.7) - 2025-06-23

### 🐛 Bug Fixes

- **(aqua)** fix versions order by [@risu729](https://github.com/risu729) in [#5406](jdx/mise#5406)

### Ci

- use pinnable tag of taiki-e/install-action by [@risu729](https://github.com/risu729) in [#5405](jdx/mise#5405)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant