Skip to content

Conversation

jdx
Copy link
Owner

@jdx jdx commented Jul 13, 2025

feat(backend): add nested tool options

This PR introduces support for nested tool options and adds three new static backends (GitHub, GitLab, and HTTP) to enable more flexible tool configuration and installation.

🚀 Features

Nested Tool Options

  • Platform-specific configuration: Support for nested platform options using dot notation (e.g., platforms.macos-x64.url)
  • Flexible option structure: Allow complex nested configurations in tool options
  • Template support: Dynamic value substitution in URLs and paths using {name}, {version}, {os}, {arch}, and {ext}

Static Backends

  • GitHub backend: Direct installation from GitHub releases with security features
  • GitLab backend: Support for GitLab releases and packages
  • HTTP backend: Generic HTTP download backend with template support

Enhanced Tool Configuration

  • Nested platform options: Configure platform-specific URLs, checksums, and other options
  • Template variables: Dynamic URL generation based on tool name, version, OS, and architecture
  • Improved option parsing: Better handling of complex nested structures in TOML configuration

🔧 Technical Improvements

Backend Architecture

  • Shared helper functions: Extracted common backend logic into static_helpers.rs
  • Template system: Centralized template string processing for dynamic values
  • Improved error handling: Better error messages and validation
  • Code reuse: Eliminated duplication between HTTP and other backends

Configuration System

  • Enhanced TOML parsing: Support for nested table structures in tool options
  • IndexMap usage: Preserves option order for deterministic behavior
  • Nested key lookup: Efficient access to deeply nested configuration values

Testing and Development

  • Comprehensive test coverage: Added tests for nested options and template functionality
  • E2E test improvements: Better test organization and help system
  • Cursor rules: Added development and testing guidelines for contributors

📚 Documentation

New Backend Documentation

  • GitHub backend guide: Complete documentation for GitHub release installation
  • GitLab backend guide: Instructions for GitLab package management
  • HTTP backend guide: Generic HTTP download configuration
  • Backend index: Updated overview of all available backends

Configuration Examples

Nested Platform Options

[tools.my-tool]
platforms.macos-x64.url = "https://example.com/{name}-{version}-{os}-{arch}.{ext}"
platforms.macos-x64.checksum = "sha256:abc123"
platforms.linux-x64.url = "https://example.com/{name}-{version}-{os}-{arch}.{ext}"
platforms.linux-x64.checksum = "sha256:def456"

Template Variables

  • {name} - Tool name
  • {version} - Tool version
  • {os} - Operating system (macos, linux, windows)
  • {arch} - Architecture (x64, arm64)
  • {ext} - File extension (tar.gz, zip)

Static Backend Usage

# GitHub backend
mise install github:owner/repo@latest

# GitLab backend  
mise install gitlab:owner/repo@latest

# HTTP backend with templates
mise install http:https://example.com/{name}-{version}-{os}-{arch}.{ext}

🧪 Testing

New Test Coverage

  • Nested option parsing: Tests for complex nested TOML structures
  • Template functionality: Verification of dynamic value substitution
  • Platform key lookup: Tests for OS-architecture specific configuration
  • Backward compatibility: Ensures existing configurations continue to work

E2E Test Improvements

  • Better test organization: Improved test discovery and execution
  • Help system: Added --help and --list options to test runner
  • Test patterns: Support for running specific test categories

🚀 User Benefits

  1. More flexible tool configuration: Support for complex nested options
  2. Platform-specific customization: Different settings per OS/architecture
  3. Dynamic URL generation: Automatic URL construction based on tool properties
  4. Additional backend options: More ways to install tools from various sources
  5. Better developer experience: Improved testing tools and documentation

🔧 Developer Experience

  • Cursor rules: Added development and testing guidelines
  • E2E test improvements: Better test organization and discovery
  • Code organization: Shared helper functions reduce duplication
  • Type safety: Improved error handling and validation

This PR enables users to create more sophisticated tool configurations while maintaining the simplicity and reliability of mise's tool management system.

…lementation

- Move ToolVersionOptions to src/toolset/tool_version_options.rs
- Remove flattened_opts cache property for simpler implementation
- Add get_nested_string() method for accessing nested values as owned strings
- Remove support for legacy flat platform options (platforms_macos_x64_url) in backends
- Update http/github backends to use new ToolVersionOptions API
- Update platform lookup to only support nested format (platforms.macos-x64.url)
- Maintain backward compatibility for existing nested configurations
- Add comprehensive tests for the new implementation
@Copilot Copilot AI review requested due to automatic review settings July 13, 2025 20:47
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 refactors the ToolVersionOptions implementation into its own module, simplifies nested option handling, and updates all backends, CLI commands, and documentation to use a unified nested format while removing legacy flat option support.

  • Extract ToolVersionOptions and parse_tool_options into tool_version_options.rs
  • Replace the old flattened_opts cache with a new get_nested_string API for nested lookups
  • Update HTTP/GitHub/GitLab/platform backends and CLI to use the nested key format and remove legacy flat keys

Reviewed Changes

Copilot reviewed 18 out of 18 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/toolset/tool_version_options.rs New isolated module with simplified nested options API
src/toolset/mod.rs Removed inline ToolVersionOptions, now re-exporting the new module
src/shims.rs Added clippy exception for mutable key types in shim error path
src/errors.rs Changed VersionNotInstalled variant to use a boxed BackendArg
src/config/config_file/mod.rs Added clippy exception around plugin update key collection
src/config/config_file/mise_toml.rs Enhanced TOML deserializer to capture nested tables and primitives
src/cli/where.rs Updated error construction to match new VersionNotInstalled API
src/cli/tool.rs Iterating over options by reference to include nested entries
src/cli/outdated.rs Added clippy exception for mutable key types in outdated command
src/backend/platform.rs Revamped lookup_platform_key to accept ToolVersionOptions and nested keys
src/backend/http.rs Switched to nested lookup helper and removed legacy .opts usage
src/backend/github.rs Updated nested lookup and pattern fallback to new helper API
schema/mise.json Expanded JSON schema to accept number, boolean, and object types
e2e/config/test_nested_tool_options New end-to-end tests for nested option behavior
docs/dev-tools/index.md Added documentation for nested tool options
docs/dev-tools/backends/http.md Updated HTTP backend docs to nested table examples
docs/dev-tools/backends/gitlab.md Updated GitLab backend docs to nested table examples
docs/dev-tools/backends/github.md Updated GitHub backend docs to nested table examples
Comments suppressed due to low confidence (2)

docs/dev-tools/index.md:149

  • This note is now incorrect because the code has removed support for legacy flat platform options. Please update or remove this legacy support statement to match the breaking change.
> **Legacy Support:** The traditional flat format (`platforms_macos_x64_url`) continues to work for backward compatibility.

src/config/config_file/mise_toml.rs:1162

  • In the TOML deserializer, s is a &String, but options.opts requires an owned String. Change s to s.clone() to compile correctly and store the string.
                                    options.opts.insert(k, s);

jdx added 2 commits July 13, 2025 15:53
- Replace BTreeMap with IndexMap in ToolVersionOptions for both install_env and opts
- Add manual Hash implementation with sorted iteration for deterministic hashing
- Add test to verify IndexMap preserves insertion order
- Update merge method signature to work with IndexMap
- This ensures tool options maintain the same order they were defined in config files
- Remove documentation claiming platforms_macos_x64_url format still works
- Legacy flat format support was removed in the nested tool options refactoring
@jdx jdx changed the title refactor: move ToolVersionOptions to separate module and simplify implementation feat: add nested tool options support Jul 13, 2025
…enum_variant lint

- Change Alias(alias::Alias) to Alias(Box<alias::Alias>)
- Add #[allow(clippy::large_enum_variant)] to Commands enum
- No functional change, just a clippy compliance improvement
cursor[bot]

This comment was marked as outdated.

jdx added 4 commits July 13, 2025 16:03
- Replace legacy flat platform URL format with new nested table format
- Update platform keys to use dash notation (darwin-arm64, darwin-amd64, linux-amd64)
- This ensures the test works with the new nested tool options implementation
… colons (http:hello-platform)\n- Keep platform keys unquoted (darwin-arm64, darwin-amd64, linux-amd64)\n- This follows correct TOML syntax where dashes don't need quotes but colons do
…\n- Replace separate platform table sections with single platforms table\n- Use inline table format: platforms.macos-x64 = { url = "...", checksum = "..." }\n- This is much cleaner and more readable than separate [tools.tool.platforms.platform] sections\n- Updated documentation, HTTP backend test, and nested tool options test\n- All tests pass with the new format
cursor[bot]

This comment was marked as outdated.

@jdx jdx changed the title feat: add nested tool options support Add nested tool options support with improved table format Jul 13, 2025
@jdx jdx changed the title Add nested tool options support with improved table format feat: nested tool options Jul 13, 2025
cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

@jdx jdx force-pushed the nested-tool-opts branch from 9c0bfab to 9b6cf31 Compare July 13, 2025 21:44
Copy link

github-actions bot commented Jul 13, 2025

Hyperfine Performance

mise x -- echo

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2025.7.7 x -- echo 17.4 ± 0.2 16.8 20.6 1.00
mise x -- echo 17.6 ± 0.2 17.2 20.8 1.01 ± 0.02

mise env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2025.7.7 env 16.8 ± 0.3 16.5 20.2 1.00
mise env 17.2 ± 0.3 16.7 20.2 1.02 ± 0.02

mise hook-env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2025.7.7 hook-env 16.5 ± 0.2 16.2 17.4 1.00
mise hook-env 16.9 ± 0.3 16.1 21.3 1.02 ± 0.02

mise ls

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2025.7.7 ls 14.7 ± 0.2 14.2 15.5 1.00
mise ls 15.0 ± 0.3 14.2 17.9 1.02 ± 0.02

xtasks/test/perf

Command mise-2025.7.7 mise Variance
install (uncached) 754ms ⚠️ 1118ms -32%
install (cached) 122ms 122ms +0%
ls (uncached) 686ms 688ms +0%
ls (cached) 77ms 77ms +0%
bin-paths (uncached) 690ms ⚠️ 1027ms -32%
bin-paths (cached) 64ms 63ms +1%
task-ls (uncached) 3120ms ⚠️ 3580ms -12%
task-ls (cached) 251ms 259ms -3%

⚠️ Warning: install uncached performance variance is -32%
⚠️ Warning: bin-paths uncached performance variance is -32%
⚠️ Warning: task-ls uncached performance variance is -12%

cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

@jdx jdx merged commit 329830f into main Jul 13, 2025
19 checks passed
@jdx jdx deleted the nested-tool-opts branch July 13, 2025 22:57
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