[pull] main from jdx:main#118
Merged
pull[bot] merged 7 commits intoAmadeusITGroup:mainfrom Feb 11, 2026
Merged
Conversation
## Summary
- Add `"linux"` to the `os` field in `registry/tuist.toml` so that `mise
use tuist@latest` works on Linux (tuist added Linux support in v4.140.0)
- Add the missing `asset` field to the Linux override in the vendored
aqua registry, so the correct asset (`tuist-linux-{arch}.tar.gz`) is
downloaded instead of the macOS `tuist.zip`
## Details
Currently, `mise use tuist@latest` on Linux silently does nothing — the
tool is installed but never activated (not added to PATH, shims don't
work). This is because `registry/tuist.toml` restricts tuist to `os =
["macos"]`, causing the toolset builder to skip it during resolution.
Additionally, the vendored aqua registry at
`crates/aqua-registry/aqua-registry/pkgs/tuist/tuist/registry.yaml` is
missing the `asset` field in the Linux override, which causes it to
download the macOS `tuist.zip` instead of `tuist-linux-{arch}.tar.gz`
and fail with "invalid gzip header". This fix is already merged upstream
in aqua-registry (aquaproj/aqua-registry#48252) and will be synced
automatically on the next release cycle, but is needed here for
correctness until then.
## Test plan
- [x] Verified `mise use -g 'aqua:tuist/tuist@latest' && tuist version`
works on Linux aarch64 (Fedora CoreOS via Podman) — confirming the aqua
registry entry with the `asset` fix is correct
- [x] Verified macOS behavior is unchanged (`mise use tuist@latest`
continues to work)
- [ ] CI `test-tool` job validates `tuist version` works on Linux x86_64
with both changes applied
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
## Summary - Skip prepending `v` to `"latest"` in `try_with_v_prefix_and_repo` since `"vlatest"` is never a valid tag - Avoids a wasted API request and confusing debug output (`GET .../releases/tags/vlatest`) - Prevents 403 rate limit on the `vlatest` attempt from short-circuiting the retry loop before `latest` is ever tried Fixes #8103 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Small conditional change to version-candidate generation for GitHub tag resolution; limited blast radius and no data/security impact. > > **Overview** > Updates `try_with_v_prefix_and_repo` to treat the special version string `"latest"` as a single candidate (no automatic `v`-prefix fallback), avoiding attempted lookups like `releases/tags/vlatest`. > > This reduces wasted GitHub API requests and prevents a non-404 failure (e.g., rate limiting) on the invalid `vlatest` attempt from aborting resolution before `latest` is tried. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 6bd1406. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
## Summary
- Adds a `tools` map to the tera template context, enabling `{{
tools.node.version }}` and `{{ tools.node.path }}` in templates
- Available in task templates and env directives with `tools = true`,
removing the need for `exec(command='node --version')` workarounds
- Keys include both `tool_name` and `short` name for flexibility; only
installed versions are included
## Test plan
- [x] `mise run build` compiles successfully
- [x] `mise run test:e2e test_env_tools` passes with new test cases
verifying `tools.tiny.version` and `tools.tiny.path`
- [x] `mise run lint` passes
🤖 Generated with [Claude Code](https://claude.com/claude-code)
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> **Medium Risk**
> Medium risk because it changes template context construction for env
resolution and tasks, and introduces new serialized data derived from
installed tool state; errors could impact env rendering in multiple
commands.
>
> **Overview**
> Adds a new `tools` map to the Tera template context so templates can
reference installed tool metadata (e.g. `{{ tools.node.version }}` and
`{{ tools.node.path }}`), including both tool and short names.
>
> Updates env resolution and cached Tera context creation to populate
this map from currently installed tool versions, adds e2e coverage for
`tools.<name>.version/path`, and documents the new template variable and
a lazy-eval env example.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
411378c. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
## Summary - Adds `--stdin` flag to `mise set` that reads the value from stdin until EOF, enabling multiline environment variables (e.g., SSH keys, certificates) - Strips a single trailing newline to match `gh secret set` behavior (`echo "val" | mise set --stdin KEY` stores `"val"`) - Validates exactly one key is provided without `KEY=VALUE` syntax Closes #6878 ## Test plan - [x] `printf 'line1\nline2' | mise set --stdin MULTI_LINE` stores multiline value correctly - [x] `printf 'hello\n' | mise set --stdin TRAILING_NL` strips trailing newline - [x] `mise set --stdin KEY1 KEY2` fails with error - [x] `mise set --stdin KEY1=value` fails with error - [x] E2E tests pass: `mise run test:e2e test_set` 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk: adds an opt-in `--stdin` path to `mise set` plus validations; existing `set/get/prompt` behavior is unchanged unless the new flag is used. > > **Overview** > Adds `mise set --stdin` to read an env var value from stdin until EOF, enabling multiline values, and strips a single trailing newline for parity with `gh secret set`. > > Enforces `--stdin` usage rules (exactly one key, no `KEY=VALUE` syntax, and conflicts with `--prompt`), and updates CLI docs/man page/completions plus e2e coverage for multiline input and error cases. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 2a27930. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
…network calls (#8109) ## Summary - **Fix `MISE_OFFLINE=1` causing hangs/errors** — Previously, offline mode blocked all HTTP requests with hard errors (`ensure!(!*env::OFFLINE, ...)`), but callers didn't handle these gracefully, causing version resolution to fail instead of falling back to local data. - **Add `offline` and `prefer_offline` as proper settings** — Now configurable via `mise.toml` (`settings.offline = true`) and documented, not just env vars. - **Add `Settings::offline()` and `Settings::prefer_offline()` convenience methods** — Combine settings + env vars + CLI flags in one place, simplifying all call sites. ### Key behavior changes: - `versions_host::list_versions()` returns `Ok(None)` when offline/prefer-offline (falls back to local cache) - `versions_host::track_install()` skips when offline - `resolve_version()` skips all remote fetching when offline, returns raw version string - `list_remote_versions_with_info()` returns empty `vec![]` when offline instead of making HTTP calls - `http.rs` ensure checks use `Settings::get().offline()` (covers both setting and env var) - Aqua registry wrapper uses `Settings::prefer_offline()` instead of raw env var access Closes #6916 ## Test plan - [x] `mise run build` — compiles successfully - [x] `mise run lint-fix` — all lints pass - [x] `mise run test:unit` — 469 tests pass - [x] `MISE_OFFLINE=1 target/debug/mise ls` — lists installed tools without errors/hangs - [x] `MISE_OFFLINE=1 target/debug/mise env` — outputs env vars without errors/hangs - [x] `MISE_OFFLINE=1 target/debug/mise settings get offline` — returns `true` - [x] `target/debug/mise settings get prefer_offline` — returns `false` 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Medium Risk** > Touches core version resolution and remote version listing paths to change behavior under `offline`/`prefer_offline`, which could affect installs and `ls-remote` results if the new gating is too aggressive or mis-detected. > > **Overview** > Adds new `offline` and `prefer_offline` settings (schema + `settings.toml` docs/env bindings) and centralizes their evaluation via `Settings::offline()`/`Settings::prefer_offline()`. > > Updates multiple network/version codepaths to respect these settings: HTTP requests now block based on `Settings::offline()`, remote version listing returns empty when offline, versions-host queries/telemetry and aqua registry updates are skipped when (prefer-)offline, and tool version resolution avoids remote lookups in offline mode (with new unit tests covering defaults and implications). > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit f5fb568. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
## Summary - Replace the outdated shims-to-PATH snippet in the getting-started page's Windows/PowerShell section with `mise activate pwsh`, matching the pattern used for all other shells - Keep the profile creation helper and non-PowerShell fallback note Ref: #8090
## Summary - Sorts all sections in `settings.toml` alphabetically - Adds a unit test (`test_settings_toml_is_sorted`) that asserts the keys remain in alphabetical order, so future additions stay organized ## Test plan - [x] `cargo test test_settings_toml_is_sorted` passes - [x] `cargo check` succeeds (build.rs still parses settings.toml correctly) - [x] `mise run lint-fix` passes clean 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Mostly a non-functional reordering of `settings.toml`, plus a new unit test that could be slightly brittle if TOML parsing/order semantics change. > > **Overview** > Reorders `settings.toml` sections to be alphabetically sorted, without changing the underlying setting definitions. > > Adds `test_settings_toml_is_sorted` in `src/config/settings.rs` that parses `settings.toml` and asserts top-level and nested setting keys remain in alphabetical order (skipping grouping-only tables), preventing future drift. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit aa1dfdb. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.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 : )