Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jdx/mise
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v2026.4.21
Choose a base ref
...
head repository: jdx/mise
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v2026.4.22
Choose a head ref
  • 8 commits
  • 53 files changed
  • 4 contributors

Commits on Apr 25, 2026

  1. refactor(config): rename install_before setting (#9384)

    ## Summary
    
    - Rename the canonical release-age setting and per-tool option from
    `install_before` to `minimum_release_age`, matching pnpm's terminology.
    - Keep `install_before` as a hidden deprecated alias with
    `deprecated_at!` behavior for legacy tool options and deprecated setting
    metadata for global config.
    - Update generated schema, CLI/man output, docs, and e2e coverage to
    prefer `minimum_release_age` while preserving a legacy alias test.
    
    ## Validation
    
    - `mise run render`
    - `mise run format`
    - `cargo test install_before --all-features`
    - `cargo test config::settings::tests --all-features`
    - `mise run test:e2e e2e/cli/test_install_before`
    - commit hook: `hk` pre-commit suite, including `cargo check
    --all-features`, formatting, shell checks, markdown/schema validation
    
    *This PR was generated by an AI coding assistant.*
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > **Medium Risk**
    > Touches version-resolution cutoffs used by installs/`latest` across
    backends, so mis-wiring the new key could change which versions users
    resolve/install. Backward-compat aliasing reduces risk but needs careful
    review of precedence and deprecation paths.
    > 
    > **Overview**
    > Renames the canonical “minimum release age” supply-chain cutoff from
    `install_before` to `minimum_release_age` across config, tool options,
    environment variables, and user-facing docs/man/usage output.
    > 
    > Adds compatibility shims so legacy `install_before` still works as a
    *hidden, deprecated alias*: global settings are migrated to
    `minimum_release_age` at load time, tool options resolve via
    `ToolVersionOptions::minimum_release_age()` with deprecation warnings,
    JSON schema marks `install_before` as deprecated and introduces
    `minimum_release_age`, and e2e/tests are updated (including a new
    legacy-alias test) to validate precedence (`--before` > per-tool >
    global).
    > 
    > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
    96c4618. Bugbot is set up for automated
    code reviews on this repo. Configure
    [here](https://www.cursor.com/dashboard/bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    jdx authored Apr 25, 2026
    Configuration menu
    Copy the full SHA
    de7fedb View commit details
    Browse the repository at this point in the history
  2. test(config): pin tombi schema test version (#9386)

    ## Summary
    
    Pins the Tombi version used by `e2e/config/test_schema_tombi` to
    `0.9.22`.
    
    ## Context
    
    The `e2e-linux-1` job in
    https://github.com/jdx/mise/actions/runs/24928843145/job/73004276209
    failed because `tombi@latest` resolved to `0.9.23`, whose Linux release
    asset changed from `.gz` to `.tar.gz`. The bundled aqua registry entry
    currently expects `.gz`, so installing `latest` failed before the schema
    regression test could run.
    
    Pinning this test keeps it focused on validating the mise schema with
    Tombi and prevents unrelated upstream packaging changes from breaking
    CI.
    
    ## Validation
    
    - `mise run test:e2e e2e/config/test_schema_tombi`
    - commit hook: prettier, cargo-fmt, cargo-check, shellcheck, shfmt, pkl,
    taplo, lua-check, stylua, actionlint, markdownlint, schema
    
    *This PR description was generated by an AI coding assistant.*
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > **Low Risk**
    > Low risk: only updates the e2e schema regression test to use a fixed
    `tombi` version, reducing CI flakiness without changing production
    behavior.
    > 
    > **Overview**
    > Pins the `e2e/config/test_schema_tombi` regression test to
    `[email protected]` instead of `latest`.
    > 
    > Updates the `mise use` and `mise x` invocations accordingly so the
    test is insulated from upstream `tombi` release asset packaging changes
    that can break CI before the schema assertions run.
    > 
    > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
    5dde6ad. Bugbot is set up for automated
    code reviews on this repo. Configure
    [here](https://www.cursor.com/dashboard/bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    jdx authored Apr 25, 2026
    Configuration menu
    Copy the full SHA
    3d54615 View commit details
    Browse the repository at this point in the history
  3. fix(task): label deps output by provider (#9385)

    ## Summary
    
    Fixes deps command output so dependency providers use a stable
    task-style label such as `[deps.codegen]` instead of using the raw `run`
    command as the progress/output prefix.
    
    This makes repeated output from commands like `pip install -r
    requirements.txt` less misleading because the log identifies the deps
    provider that is running rather than repeating the command text as the
    label.
    
    ## Changes
    
    - Add provider-based deps prefixes for both simple parallel deps and
    dependency-ordered deps.
    - Prefix captured stdout/stderr with `[deps.<provider>]` outside raw
    mode.
    - Keep `mise deps add/remove` direct command execution unprefixed.
    - Add e2e coverage for custom deps output prefixes.
    
    ## Validation
    
    - `cargo check -q`
    - `cargo fmt --check`
    - `git diff --check`
    - `mise run test:e2e e2e/cli/test_deps`
    - Commit hook: `hk` checks passed during commit, including
    `cargo-check`, formatters, shellcheck, schema validation, and
    markdownlint.
    
    Related discussion: #9377
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > **Medium Risk**
    > Touches `DepsEngine::execute_command` and the deps execution paths to
    inject prefixed stdout/stderr and progress updates, which could affect
    logging behavior and command output handling across providers. Core
    dependency installation behavior is unchanged, but output/UX and
    raw-mode interactions may regress in edge cases.
    > 
    > **Overview**
    > Deps provider execution output is now labeled with a stable
    provider-based prefix (e.g. `deps.codegen` / `[deps.codegen]`) instead
    of using the raw command description, improving log clarity during
    repeated installs.
    > 
    > `DepsEngine::execute_command` was extended to optionally attach
    stdout/stderr line callbacks that prefix output (and update the progress
    message) when not in raw mode; both parallel and dependency-ordered deps
    runs now pass these prefixes, while `mise deps add/remove` explicitly
    opt out. Styling was centralized via a new `style::prefix(...)` helper,
    and an e2e test assertion was added to verify the new `[deps.<id>]`
    output.
    > 
    > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
    79e839c. Bugbot is set up for automated
    code reviews on this repo. Configure
    [here](https://www.cursor.com/dashboard/bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    jdx authored Apr 25, 2026
    Configuration menu
    Copy the full SHA
    2735c4d View commit details
    Browse the repository at this point in the history
  4. docs(site): show release version in nav (#9388)

    ## Summary
    
    - read the latest site release label from `Cargo.toml`
    - add a versioned releases nav item beside the existing GitHub star
    counter
    
    ## Validation
    
    - `npm run docs:build` in `/home/jdx/src/mise-release-version`
    
    _Note: build completed with existing VitePress warnings about missing
    syntax highlighters for `query`, `gitignore`, and `netrc`, plus a
    chunk-size warning._
    
    _This PR was generated by Codex._
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > **Low Risk**
    > Low risk documentation-site change that only affects VitePress
    build-time config by reading `Cargo.toml` to display a version label;
    main risk is a build failure if the file path or version regex stops
    matching.
    > 
    > **Overview**
    > **Docs site nav now shows the current release version.**
    `docs/.vitepress/config.ts` reads `version` from the repo’s `Cargo.toml`
    at build time and adds a new nav item labeled `v${latestVersion}` that
    links to the GitHub releases page (falling back to `0.0.0` if parsing
    fails).
    > 
    > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
    af9e31f. Bugbot is set up for automated
    code reviews on this repo. Configure
    [here](https://www.cursor.com/dashboard/bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    jdx authored Apr 25, 2026
    Configuration menu
    Copy the full SHA
    364f7fe View commit details
    Browse the repository at this point in the history
  5. docs(site): address release nav feedback (#9389)

    ## Summary
    
    - make the Cargo version extraction anchor to the package version line
    - warn during docs builds if the version cannot be found instead of
    silently falling back
    
    ## Validation
    
    - `npm run docs:build` in `/home/jdx/src/mise-release-version`
    
    _Note: build completed with existing VitePress warnings about missing
    syntax highlighters for `gitignore`, `query`, and `netrc`, plus a
    chunk-size warning._
    
    _This PR was generated by Codex._
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > **Low Risk**
    > Low risk docs-only change: adjusts a regex used during VitePress
    config generation and adds a build-time warning when the version cannot
    be parsed.
    > 
    > **Overview**
    > Updates `docs/.vitepress/config.ts` to make Cargo package version
    extraction more robust by anchoring the regex to the `version = "..."`
    line within `[package]` (multiline match).
    > 
    > If the version cannot be found, the docs build now emits a
    `console.warn` instead of silently falling back to `0.0.0`.
    > 
    > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
    5a71dfc. Bugbot is set up for automated
    code reviews on this repo. Configure
    [here](https://www.cursor.com/dashboard/bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    jdx authored Apr 25, 2026
    Configuration menu
    Copy the full SHA
    abd701d View commit details
    Browse the repository at this point in the history
  6. feat(copr): add Fedora 44 & Rawhide support (#9391)

    adding Fedora 44 support and fix Rawhide build script
    
    Co-authored-by: Copilot <[email protected]>
    bestagi and Copilot authored Apr 25, 2026
    Configuration menu
    Copy the full SHA
    c6ba14b View commit details
    Browse the repository at this point in the history
  7. fix(backend): repair latest runtime labels and go resolution (#9383)

    ## Summary
    
    Fixes two separate `@latest` regressions that were getting conflated:
    
    - Go modules that enumerate zero versions now resolve `@latest` with `go
    list -m -json <module>@latest`, so modules that only have
    pseudo-versions still resolve to a concrete install version.
    - Stale real runtime-label directories like `installs/<tool>/latest/`
    are repaired generically by the runtime symlink migration, instead of
    filtering specific backends. The migration reruns with a new marker and
    refreshes only `install_state` after rewriting dirs, so the current
    process sees the repaired scan without rebuilding the backend map and
    breaking config aliases.
    - The one-time migration treats only literal `latest` as temporary
    generated state, with a debug-time removal guard for `2026.10.0`.
    Numeric partial-version dirs such as `installs/<tool>/25/` are left
    alone because users can request them directly with config like `foo =
    "25"`.
    
    Real direct-URL `latest` installs, such as UBI URL installs, are
    preserved when there is no concrete version target to replace them with.
    
    Rebased onto `origin/main` at `364f7fea2`.
    
    Related:
    
    - #9376
    - #9381
    
    ## Validation
    
    - `cargo fmt --check`
    - `cargo check --all-features`
    - `mise run test:e2e e2e/config/test_config_alias`
    - `mise run test:e2e e2e/config/test_config_plugins`
    - `mise run test:e2e
    e2e/cli/test_install_before_ignores_stale_latest_dirs`
    - `mise run test:e2e e2e/tools/test_runtime_symlink_migration`
    - `mise run test:e2e
    e2e/tools/test_runtime_symlink_migration_preserves_concrete_short_version`
    - `mise run test:e2e e2e/backend/test_ubi`
    - `mise run test:e2e e2e/backend/test_go_install_slow`
    - pre-commit `hk` hook via `git commit`
    
    *This PR was generated by an AI coding assistant.*
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > <sup>[Cursor Bugbot](https://cursor.com/bugbot) is generating a
    summary for commit f1837f1. Configure
    [here](https://www.cursor.com/dashboard/bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    jdx authored Apr 25, 2026
    Configuration menu
    Copy the full SHA
    02e6edc View commit details
    Browse the repository at this point in the history
  8. chore: release 2026.4.22 (#9387)

    ### 🚀 Features
    
    - **(copr)** add Fedora 44 & Rawhide support by @bestagi in
    [#9391](#9391)
    
    ### 🐛 Bug Fixes
    
    - **(backend)** repair latest runtime labels and go resolution by @jdx
    in [#9383](#9383)
    - **(task)** label deps output by provider by @jdx in
    [#9385](#9385)
    
    ### 🚜 Refactor
    
    - **(config)** rename install_before setting by @jdx in
    [#9384](#9384)
    
    ### 📚 Documentation
    
    - **(site)** show release version in nav by @jdx in
    [#9388](#9388)
    - **(site)** address release nav feedback by @jdx in
    [#9389](#9389)
    
    ### 🧪 Testing
    
    - **(config)** pin tombi schema test version by @jdx in
    [#9386](#9386)
    
    ## 📦 Aqua Registry
    
    Updated [aqua-registry](https://github.com/aquaproj/aqua-registry):
    [v4.498.0](https://github.com/aquaproj/aqua-registry/releases/tag/v4.498.0)
    ->
    [v4.499.0](https://github.com/aquaproj/aqua-registry/releases/tag/v4.499.0).
    
    Included aqua-registry releases:
    
    -
    [v4.499.0](https://github.com/aquaproj/aqua-registry/releases/tag/v4.499.0)
    mise-en-dev authored Apr 25, 2026
    Configuration menu
    Copy the full SHA
    798ca8d View commit details
    Browse the repository at this point in the history
Loading