[pull] main from jdx:main#133
Merged
pull[bot] merged 5 commits intoAmadeusITGroup:mainfrom Feb 18, 2026
Merged
Conversation
### 🚀 Features - **(mcp)** add run_task tool for executing mise tasks by @joaommartins in [#8179](#8179) - **(node)** suggest setting node.flavor if the flavor is not found in mirror by @risu729 in [#8206](#8206) ### 🐛 Bug Fixes - **(java)** sort order for shorthand versions by @roele in [#8197](#8197) - **(node)** migrate env vars to settings by @risu729 in [#8200](#8200) - **(registry)** apply overrides in shims by @risu729 in [#8199](#8199) - migrate MISE_CARGO_BINSTALL_ONLY to settings by @risu729 in [#8202](#8202) ### 📚 Documentation - **(doctor)** fix subcommand in an example by @risu729 in [#8198](#8198) ### 📦 Registry - add github backend for typst by @3w36zj6 in [#8210](#8210) ### Chore - **(test)** disable flaky Forgejo e2e test by @jdx in [#8211](#8211)
`git tag | head -1` with `set -euxo pipefail` exits 141 (SIGPIPE) when git tag produces enough output. Add `|| true` to suppress. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…8234) ## Summary - Per-tool postinstall hooks were hardcoding `$install_path/bin` on PATH, which doesn't work for backends like aqua where binaries live in non-standard subdirectories (e.g. `linux-amd64/`) - Now uses `self.list_bin_paths()` which each backend overrides to return the correct binary directories - Fixes the case where `helm completion bash > ...` fails during postinstall because the `helm` binary is at `~/.local/share/mise/installs/helm/4.1.1/linux-amd64/helm` Fixes #6323 (reply in thread) ## Test plan - [x] Added e2e test `test_install_postinstall_bin_path` that verifies the tool binary is accessible during postinstall hook execution - [x] Existing `test_install_postinstall_cli_version` still passes - [x] `mise run lint` passes clean 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Medium Risk** > Changes install-time hook environment setup, which can affect whether postinstall scripts run successfully across backends and platforms; the added e2e test reduces regression risk. > > **Overview** > Per-tool `postinstall` hook execution now prepends PATH using each backend’s `list_bin_paths()` output (via `PathEnv`) rather than hardcoding `install_path/bin`, fixing hooks for backends where binaries live in non-standard subdirectories. > > Adds an e2e regression test (`test_install_postinstall_bin_path`) that installs a dummy tool with a `postinstall` command and asserts the tool binary is available on PATH during hook execution. Separately, the docs settings component adds an optional `prefix` prop to filter displayed settings by key prefix. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit ed64134. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary - When both `config.toml` and `config.local.toml` exist, `mise use` (and `mise use -g`) was incorrectly writing to `config.local.toml` instead of `config.toml`. - Added an `is_conf_d_file()` helper to detect conf.d files and updated `first_config_file()` to skip them. - Updated `global_config_path()` to use `first_config_file()` instead of `.last()` so it always prefers `config.toml` over `config.local.toml`. Fixes: #8236 ## Changes Made - `src/config/mod.rs`: Added `is_conf_d_file()` helper; updated `first_config_file()` to skip conf.d files; changed `global_config_path()` to call `first_config_file()` instead of `.last()`. - `e2e/cli/test_use`: Added two new test cases verifying `mise use` and `mise use -g` write to `config.toml` when `config.local.toml` also exists. ## Testing - All pre-commit lint hooks pass (cargo-check, shellcheck, shfmt, prettier, taplo). - Two new e2e test cases added in `e2e/cli/test_use` covering both local and global scenarios. ## Related - Discussion: #8236 <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Small, targeted change to config-file write target selection with added e2e tests; low likelihood of regressions beyond which config file gets updated. > > **Overview** > Ensures `mise use` and `mise use -g` write updates to the non-local TOML config (`config.toml`) instead of `config.local.toml` when both files exist. > > This adjusts config-file selection logic to skip `.config/mise/conf.d/*.toml` entries and uses the shared `first_config_file()` selection for `global_config_path()`. Adds e2e coverage for both local `.config/mise/config.toml` and global `~/.config/mise/config.toml` precedence over their `.local` counterparts. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit b9cb182. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…#8239) ## Summary - Moves 9 flat \`task_*\` settings to the \`task.*\` namespace (e.g. \`task_output\` → \`task.output\`) - Old names remain fully functional via migration in \`set_hidden_configs()\` — no breaking changes - Deprecation warnings will appear starting at mise \`2026.8.0\`; \`debug_assert!\` fires at \`2027.2.0\` to remind devs to remove the old names - Extends \`settings.toml\` schema to support \`deprecated_warn_at\` / \`deprecated_remove_at\` fields, enabling version-gated deprecation to be declared in TOML rather than scattered in code **Settings migrated:** | Old | New | |---|---| | \`task_disable_paths\` | \`task.disable_paths\` | | \`task_output\` | \`task.output\` | | \`task_remote_no_cache\` | \`task.remote_no_cache\` | | \`task_run_auto_install\` | \`task.run_auto_install\` | | \`task_show_full_cmd\` | \`task.show_full_cmd\` | | \`task_skip\` | \`task.skip\` | | \`task_skip_depends\` | \`task.skip_depends\` | | \`task_timeout\` | \`task.timeout\` | | \`task_timings\` | \`task.timings\` | ## Test plan - [x] \`mise run build\` — compiles cleanly - [x] \`mise run test:unit\` — 481 tests pass - [x] \`mise run test:e2e test_task_raw_output test_task_skip_deps test_task_file_auto_install test_auto_install_false\` — all pass - [ ] Old setting names still work (backwards compat via migration) - [ ] \`MISE_TASK_OUTPUT=prefix\` env var routes to new \`task.output\` setting 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Medium Risk** > Touches config parsing/migration and task execution behavior via renamed settings, so mistakes could silently change task defaults or deprecation timing; scope is contained and largely refactor/migration-driven. > > **Overview** > **Consolidates task-related configuration under `task.*`** by adding a new nested `task` settings namespace (e.g. `task.output`, `task.run_auto_install`, `task.skip_depends`) and updating runtime/task code paths to read from the nested struct. > > Maintains backward compatibility by migrating legacy `task_*` keys in `Settings::set_hidden_configs()` while introducing version-gated deprecation metadata (`deprecated_warn_at`/`deprecated_remove_at`) and warnings/assertions driven from `settings.toml`/generated `SETTINGS_META`. Documentation, manpage/usage text, schemas, and E2E tests are updated to use the new `task.*` keys, and legacy keys are marked deprecated/hidden in the schema and settings definitions. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 95b5fc6. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )