Skip to content

chore(config): deprecate shorthands_file setting#9534

Merged
jdx merged 1 commit intojdx:mainfrom
risu729:codex/deprecate-shorthands-file
May 2, 2026
Merged

chore(config): deprecate shorthands_file setting#9534
jdx merged 1 commit intojdx:mainfrom
risu729:codex/deprecate-shorthands-file

Conversation

@risu729
Copy link
Copy Markdown
Contributor

@risu729 risu729 commented May 2, 2026

Summary

  • mark settings.shorthands_file / MISE_SHORTHANDS_FILE as deprecated with a warning in mise 2026.6.0 and removal in mise 2026.12.0
  • warn when shorthands_file is configured while keeping the existing behavior unchanged
  • update configuration docs and schema to point users to [plugins]

Validation

  • cargo fmt --check
  • TMPDIR=/tmp mise run render
  • rg -n "shorthands_file|MISE_SHORTHANDS_FILE|shorthands\\.toml" e2e e2e-win (no e2e coverage found)

This PR was generated by an AI coding assistant.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request deprecates the shorthands_file setting and MISE_SHORTHANDS_FILE environment variable, moving the functionality to the [plugins] section. The changes include updates to the changelog, documentation, JSON schema, and the addition of a runtime deprecation warning. Feedback suggests adding the https:// protocol to the documentation link in the deprecation message for better linkability and aligning terminology with the updated documentation.

Comment thread settings.toml Outdated
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 2, 2026

Greptile Summary

Deprecates settings.shorthands_file / MISE_SHORTHANDS_FILE by following the codebase's established deprecation pattern: adds deprecated, deprecated_warn_at = "2026.6.0", deprecated_remove_at = "2026.12.0", and hide = true to settings.toml; calls warn_deprecated("shorthands_file") in set_hidden_configs without consuming the value (preserving existing behavior); marks the field deprecated: true in the JSON Schema; and updates the docs to direct users to [plugins].

Confidence Score: 5/5

Safe to merge — all changes follow the existing deprecation pattern precisely, no logic regressions introduced.

No P0 or P1 issues found. The deprecation plumbing (settings.toml fields, warn_deprecated call placement, schema annotation, docs) exactly mirrors other deprecated settings like install_before and task_*. The value is intentionally not consumed, keeping the shorthands file functional until removal. All four files have clean, isolated, consistent changes.

No files require special attention.

Important Files Changed

Filename Overview
settings.toml Adds deprecated, deprecated_warn_at, deprecated_remove_at, and hide = true to [shorthands_file], following the established pattern of other deprecated settings (e.g., install_before, task_*).
src/config/settings.rs Adds warn_deprecated("shorthands_file") call inside set_hidden_configs; correctly does not consume the value (unlike migrating deprecations) since there is no equivalent new setting name.
schema/mise.json Adds "deprecated": true to shorthands_file; consistent with the schema's JSON Schema 2019-09 draft and matches dozens of other deprecated entries already present.
docs/configuration.md Updates [plugins] description to note it replaces shorthands_file, and comments out the active shorthands_file example with a deprecation notice.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Settings loaded] --> B{shorthands_file set?}
    B -- No --> C[Normal operation]
    B -- Yes --> D[warn_deprecated called]
    D --> E{mise version >= 2026.6.0?}
    E -- No --> F[No warning emitted yet]
    E -- Yes --> G[Emit deprecation warning\n'use plugins instead']
    F --> H[shorthands_file remains active]
    G --> H
    H --> I[Shorthands file loaded as before]
    style G fill:#f90,color:#000
Loading

Reviews (3): Last reviewed commit: "chore(config): deprecate shorthands_file..." | Re-trigger Greptile

Comment thread CHANGELOG.md Outdated
Comment thread src/config/settings.rs
@risu729 risu729 force-pushed the codex/deprecate-shorthands-file branch from 4dee4e6 to 3270d45 Compare May 2, 2026 06:24
@risu729 risu729 force-pushed the codex/deprecate-shorthands-file branch from 3270d45 to a1043f0 Compare May 2, 2026 06:57
@risu729 risu729 marked this pull request as ready for review May 2, 2026 07:29
@jdx jdx merged commit 0cc788d into jdx:main May 2, 2026
36 checks passed
@risu729 risu729 deleted the codex/deprecate-shorthands-file branch May 2, 2026 12:12
mise-en-dev added a commit that referenced this pull request May 3, 2026
### 🚀 Features

- **(conda)** graduate conda backend out of experimental by @jdx in
[#9544](#9544)
- **(deps)** Add dart and flutter providers by @tjarvstrand in
[#9505](#9505)
- **(registry)** add neo4j by @mnm364 in
[#9525](#9525)
- **(registry)** add rustfs by @mnm364 in
[#9530](#9530)
- **(task)** support exclusion patterns in task sources by
@jlarmstrongiv in [#9496](#9496)
- **(vfox)** add stat function to lua file module by @esteve in
[#9497](#9497)

### 🐛 Bug Fixes

- **(backend)** flag regex prerelease versions by @jdx in
[#9500](#9500)
- **(backend)** mark -nightly/-canary/-experimental as prereleases by
@jdx in [#9523](#9523)
- **(backend)** suppress no-versions warning for unresolved-latest
backends by @jdx in [#9548](#9548)
- **(backend)** include dotnet prereleases from package flags by @jdx in
[#9551](#9551)
- **(backend)** scope PEP 440 prerelease detection to Python backends by
@jdx in [#9558](#9558)
- **(cargo)** Apply install_env during cargo install by @c22 in
[#9502](#9502)
- **(copr)** drop epel-9 chroots since rust >= 1.91 is unavailable by
@jdx in [#9484](#9484)
- **(github)** skip attestations on non-default api_url by @jdx in
[#9486](#9486)
- **(github)** retry ip allow list errors without auth by @risu729 in
[#9506](#9506)
- **(http)** update versions host tracking endpoint by @jdx in
[#9527](#9527)
- **(install)** don't warn for configured tools when version is passed
via CLI by @jdx in [#9522](#9522)
- **(install)** refresh latest before installing missing tools by @jdx
in [#9545](#9545)
- **(install)** don't cache nonexistent install paths by @jdx in
[#9553](#9553)
- **(lockfile)** don't propagate ad-hoc CLI overrides into the project
lockfile by @jdx in [#9562](#9562)
- **(plugin)** detect plugin types after cloning by @risu729 in
[#9540](#9540)
- **(release)** pass --no-git-checks to aube publish by @jdx in
[#9483](#9483)
- **(task)** convert PATH to MSYS Unix form when spawning POSIX shells
on Windows by @JamBalaya56562 in
[#9547](#9547)

### 📚 Documentation

- **(contributing)** require popularity check for registry PRs by @jdx
in
[7bbeebe](7bbeebe)
- **(watch)** update pitchfork domain to en.dev by @risu729 in
[#9536](#9536)
- document ghtkn GitHub token setup by @jdx in
[#9546](#9546)
- clarify registry backend acceptance policy by @jdx in
[#9543](#9543)
- Change exec command to use bash for variable echo by @kuboon in
[#9567](#9567)

### 🧪 Testing

- **(e2e)** run test-tool targets in parallel by @jdx in
[#9564](#9564)
- **(e2e)** run tests in parallel by @jdx in
[#9563](#9563)
- **(e2e)** bind-mount /tmp on disk and surface failed tests in CI
summary by @jdx in [#9570](#9570)
- **(tasks)** migrate test_task_help atask to usage field by @jdx in
[#9549](#9549)

### 📦️ Dependency Updates

- update fedora:45 docker digest to 8b838b3 by @renovate[bot] in
[#9507](#9507)
- update ghcr.io/jdx/mise:deb docker digest to f02194c by @renovate[bot]
in [#9509](#9509)
- update taiki-e/install-action digest to 7769b73 by @renovate[bot] in
[#9512](#9512)
- update ghcr.io/jdx/mise:alpine docker digest to 581f8a8 by
@renovate[bot] in [#9508](#9508)
- update rust crate ctor to v0.10.1 by @renovate[bot] in
[#9515](#9515)
- update ghcr.io/jdx/mise:rpm docker digest to a5c9655 by @renovate[bot]
in [#9510](#9510)
- update rust docker digest to a9cfb75 by @renovate[bot] in
[#9511](#9511)
- update rust crate age to v0.11.3 by @renovate[bot] in
[#9514](#9514)
- update rust crate jiff to v0.2.24 by @renovate[bot] in
[#9516](#9516)
- update dependency vitepress-plugin-tabs to ^0.9.0 by @renovate[bot] in
[#9518](#9518)
- update autofix-ci/action action to v1.3.4 by @renovate[bot] in
[#9513](#9513)
- update rust crate usage-lib to v3.2.1 by @renovate[bot] in
[#9517](#9517)
- update apple-actions/import-codesign-certs action to v7 by
@renovate[bot] in [#9519](#9519)
- update taiki-e/install-action digest to 51cd0b8 by @renovate[bot] in
[#9531](#9531)
- exclude taiki-e/install-action from renovate by @jdx in
[#9532](#9532)
- update rust crate blake3 to v1.8.5 by @renovate[bot] in
[#9533](#9533)

### 📦 Registry

- enable shellcheck on windows by @zeitlinger in
[#9487](#9487)
- add google-java-format by @zeitlinger in
[#9488](#9488)
- add expert
([aqua:expert-lsp/expert](https://github.com/expert-lsp/expert)) by
@AlternateRT in [#9498](#9498)
- update entry for checkmake by @eread in
[#9504](#9504)
- add systemctl-tui
([aqua:rgwood/systemctl-tui](https://github.com/rgwood/systemctl-tui))
by @2xdevv in [#9521](#9521)
- add codon by @3w36zj6 in
[#9538](#9538)
- add tool yr (backend:github:VirusTotal/yara-x) by @adam-moss in
[#9542](#9542)
- add tool betterleaks (backend:aqua/betterleaks/betterleaks) by
@adam-moss in [#9541](#9541)
- add `git-filter-repo` by @garysassano in
[#9550](#9550)
- add umoci
([aqua:opencontainers/umoci](https://github.com/opencontainers/umoci))
by @2xdevv in [#9555](#9555)
- add aqua backend for elixir-ls by @AlternateRT in
[#9557](#9557)
- deny inline backend options by @risu729 in
[#9565](#9565)

### Chore

- **(ci)** fail registry tests without summary by @jdx in
[#9559](#9559)
- **(ci)** use !cancelled() instead of always() for test-ci aggregator
by @jdx in [#9569](#9569)
- **(ci)** use namespace runners for ci jobs by @jdx in
[#9561](#9561)
- **(config)** deprecate shorthands_file setting by @risu729 in
[#9534](#9534)
- **(docs)** remove shrill.en.dev analytics script by @jdx in
[#9539](#9539)
- **(release)** replace bc with awk in release-plz star formatting by
@jdx in
[d7f177f](d7f177f)
- bump hk to 1.44.3 by @jdx in
[#9493](#9493)
- invert CLAUDE.md/AGENTS.md so AGENTS.md is canonical by @jdx in
[#9560](#9560)
- set dev profile debug to 1 by @jdx in
[#9572](#9572)

### New Contributors

- @kuboon made their first contribution in
[#9567](#9567)
- @AlternateRT made their first contribution in
[#9557](#9557)
- @2xdevv made their first contribution in
[#9555](#9555)
- @adam-moss made their first contribution in
[#9541](#9541)
- @jlarmstrongiv made their first contribution in
[#9496](#9496)
- @tjarvstrand made their first contribution in
[#9505](#9505)
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.

2 participants