Skip to content

Conversation

jfmontanaro
Copy link
Contributor

@jfmontanaro jfmontanaro commented Jul 10, 2025

The Xonsh integration is currently broken. It doesn't output any errors when running execx($(mise activate -s xonsh)), but calling mise after doing so will raise an error:

joe@vingilot ~/Documents/code/mise main @ execx($(mise activate xonsh))
joe@vingilot ~/Documents/code/mise main @ mise
xonsh: For full traceback set: $XONSH_SHOW_TRACEBACK = True
Exception in thread {'cls': 'ProcProxyThread', 'name': 'Thread-33', 'func': FuncAlias({'name': 'mise', 'func': '_mise', 'return_what': 'result'}), 'alias': 'mise', 'pid': None}
FileNotFoundError: [Errno 2] No such file or directory: 'command'

Ultimately this error is due to the activating script trying to execute command mise ..., and command isn't a proper executable. command is a Bash builtin (and maybe exists in other more bash-like shells as well?), so I'm guessing what happened was that some logic was ported over from other shells and doesn't work here.

Fixing this issue is straightforward, but doing so reveals a second issue. The pre-prompt hook attempts to capture the output of mise hook-env via $(...), but this doesn't work because mise has been replaced with an alias that runs it using subprocess.run(), which bypasses Xonsh's output-capturing mechanics.

To fix these issues I suggest the following changes:

  • Use normal xonsh subprocess semantics in the main mise alias, which fixes output capturing
  • Since the original motivation for using subprocess.run() was to speed up execution, but we really only care about this in the pre-prompt hook, we will use subprocess.run() only in the pre-prompt hook.
  • Switch to passing in the Xonsh environment via XSH.env.detype(). This avoids the added complexity of having to set env vars in both XSH.env and os.environ, which significantly cleans up the implementation.
  • Add an e2e test for Xonsh, at least for the basic behavior. I modeled this one mostly after the e2e test for Zsh.

If that seems reasonable, I have a couple of additional questions:

  1. There's a section in the docs that talks about hooking into cd, rather than just running every time the prompt is displayed. This makes sense to me - the PATH manipulation that mise does should only need to be updated when the working directory changes - but I'm not sure if it means what I think it means. At least, the docs claim that this happens in Bash and Zsh, but looking at those implementations it appears that they are still running on prompt as well as on cd, so I'm not sure what's going on. If my original intuition is right and the hook only really needs to fire when the directory is changed, this would be easy to do in Xonsh as well. We'd just need to hook into the on_chdir event instead of on_pre_prompt.
  2. shfmt doesn't like the Xonsh test script, which is understandable since Xonsh syntax can get pretty far from regular shell (all valid Python is also valid Xonsh.) Unfortunately it's causing some checks to fail in CI, and I can't find a way to tell it to ignore this file, or just mark it as an expected fail. Is that possible?

@jfmontanaro jfmontanaro changed the title Fix Xonsh integration fix: Xonsh integration Jul 10, 2025
@jdx
Copy link
Owner

jdx commented Jul 10, 2025

There's a section in the docs that talks about hooking into cd, rather than just running every time the prompt is displayed. This makes sense to me - the PATH manipulation that mise does should only need to be updated when the working directory changes - but I'm not sure if it means what I think it means. At least, the docs claim that this happens in Bash and Zsh, but looking at those implementations it appears that they are still running on prompt as well as on cd, so I'm not sure what's going on. If my original intuition is right and the hook only really needs to fire when the directory is changed, this would be easy to do in Xonsh as well. We'd just need to hook into the on_chdir event instead of on_pre_prompt.

both are important. cd is useful when doing something like cd foo && node -v and prompt is useful when editing config files and not leaving the directory.

I think shfmt is configured here:

mise/hk.pkl

Line 21 in c008173

["shfmt"] = (Builtins.shfmt) {

but you may also be able to add an ignore rule for it in .editorconfig

@jfmontanaro
Copy link
Contributor Author

Got it, thanks!

I've added the mise hook to the on_chdir event in Xonsh, updated the docs to reflect that, and ignored the test script in the linter, so as long as you're ok with it then I'm good to go.

@jdx jdx requested a review from Copilot July 10, 2025 16:17
Copilot

This comment was marked as outdated.

@jdx jdx requested a review from Copilot July 10, 2025 18:00
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 fixes the broken Xonsh integration in mise by switching to Xonsh-native subprocess semantics, cleaning up environment variable handling, and adding a proper pre-prompt + on-chdir hook. It also adds an end-to-end test for Xonsh, updates snapshots, updates docs to mention the new on_chdir hook, and ensures Xonsh is installed in CI.

  • Use Xonsh’s execx and XSH.env.detype() for environment updates and limit subprocess.run() to the hook
  • Register both on_pre_prompt and on_chdir hooks and update snapshots accordingly
  • Add an e2e Xonsh test script, update docs, and install Xonsh in CI

Reviewed Changes

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

Show a summary per file
File Description
src/shell/xonsh.rs Refactor alias to use Xonsh API, add on_chdir hook
src/shell/snapshots/* Update snapshots to reflect new hook names
e2e/shell/xonsh_script, e2e/shell/test_xonsh Add Xonsh integration end-to-end test
docs/dev-tools/shims.md Document Xonsh’s on_chdir hook usage
.github/workflows/test.yml Install Xonsh in CI
hk.pkl Exclude the Xonsh test script from bash linter
Comments suppressed due to low confidence (1)

src/shell/xonsh.rs:64

  • There’s no test covering the no_hook_env path. Adding a unit or integration test for when opts.no_hook_env is true would help ensure hooks aren’t registered unexpectedly.
        if !opts.no_hook_env {

import shlex
import subprocess

extra_args = shlex.split('{flags}')
Copy link
Preview

Copilot AI Jul 10, 2025

Choose a reason for hiding this comment

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

Embedding raw {flags} into a shell split call can lead to code-injection risks. Consider constructing the flags list directly in Rust and serializing it to a Python list literal, or otherwise ensure that {flags} is properly escaped before splitting.

Suggested change
extra_args = shlex.split('{flags}')
escaped_flags = xonsh_escape_sq('{flags}')
extra_args = shlex.split(escaped_flags)

Copilot uses AI. Check for mistakes.

Copy link
Contributor Author

@jfmontanaro jfmontanaro Jul 10, 2025

Choose a reason for hiding this comment

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

This was already the case before the PR. I wouldn't mind escaping, but my feeling is that because the flags can only ever be a known set of values it's not a problem. Most likely that's why it was never escaped to begin with.

Copy link
Owner

Choose a reason for hiding this comment

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

yeah I was going to verify that myself because I thought that was the case but thanks for checking!

@@ -2,7 +2,7 @@ amends "package://github.com/jdx/hk/releases/download/v1.0.0/hk@1.0.0#/Config.pk
import "package://github.com/jdx/hk/releases/download/v1.0.0/hk@1.0.0#/Builtins.pkl"

local bash_glob = List("*.sh", "xtasks/**", "scripts/**", "e2e/**")
local bash_exclude = List("*.ps1", "*.fish", "*.ts", "*.js", "*.json", "*.bat", "**/.*", "src/assets/bash_zsh_support/**")
local bash_exclude = List("*.ps1", "*.fish", "*.ts", "*.js", "*.json", "*.bat", "**/.*", "src/assets/bash_zsh_support/**", "e2e/shell/xonsh_script")
Copy link
Preview

Copilot AI Jul 10, 2025

Choose a reason for hiding this comment

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

[nitpick] The exclude pattern is very specific; consider using a wildcard (e.g., "e2e/shell/xonsh_script*") or including an extension to ensure all related scripts are excluded from bash linters.

Suggested change
local bash_exclude = List("*.ps1", "*.fish", "*.ts", "*.js", "*.json", "*.bat", "**/.*", "src/assets/bash_zsh_support/**", "e2e/shell/xonsh_script")
local bash_exclude = List("*.ps1", "*.fish", "*.ts", "*.js", "*.json", "*.bat", "**/.*", "src/assets/bash_zsh_support/**", "e2e/shell/xonsh_script*", "*.xonsh")

Copilot uses AI. Check for mistakes.

@jdx jdx merged commit f54fb4c into jdx:main Jul 10, 2025
18 checks passed
jdx pushed a commit that referenced this pull request Jul 11, 2025
### 🐛 Bug Fixes

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

### 📚 Documentation

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

### 📦️ Dependency Updates

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

### Chore

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

### New Contributors

- @jfmontanaro made their first contribution in
[#5557](#5557)
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.

2 participants