Skip to content

Comments

[pull] main from jdx:main#133

Merged
pull[bot] merged 5 commits intoAmadeusITGroup:mainfrom
jdx:main
Feb 18, 2026
Merged

[pull] main from jdx:main#133
pull[bot] merged 5 commits intoAmadeusITGroup:mainfrom
jdx:main

Conversation

@pull
Copy link

@pull pull bot commented Feb 18, 2026

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 : )

mise-en-dev and others added 5 commits February 18, 2026 04:16
### 🚀 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>
@pull pull bot locked and limited conversation to collaborators Feb 18, 2026
@pull pull bot added the ⤵️ pull label Feb 18, 2026
@pull pull bot merged commit bed5f16 into AmadeusITGroup:main Feb 18, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants