Skip to content

chore: remove deprecated settings older than 12 months#8904

Merged
jdx merged 6 commits intomainfrom
remove-deprecated-python-settings
Apr 4, 2026
Merged

chore: remove deprecated settings older than 12 months#8904
jdx merged 6 commits intomainfrom
remove-deprecated-python-settings

Conversation

@jdx
Copy link
Copy Markdown
Owner

@jdx jdx commented Apr 4, 2026

Summary

  • Remove 14 deprecated setting aliases that have had replacements for 18+ months (since Sep-Nov 2024)
  • Settings removed: asdf, cargo_binstall, disable_default_shorthands, npm.bun, pipx_uvx, python_compile, python_default_packages_file, python_patch_url, python_patches_directory, python_precompiled_arch, python_precompiled_os, python_pyenv_repo, python_venv_stdlib, vfox
  • Removes associated migration code in settings.rs and legacy e2e tests
  • asdf_compat and profile are kept (still has active code usage / env var fallback)

Test plan

  • cargo build compiles cleanly
  • mise run lint passes
  • Schema regenerated
  • CI passes

🤖 Generated with Claude Code


Note

Medium Risk
Removes multiple long-deprecated settings and their migration code, which can break existing configs or env var usage that still relies on the old names. Changes are otherwise straightforward and largely limited to config/schema/docs and e2e coverage.

Overview
Drops support for multiple deprecated settings/aliases (e.g. asdf, vfox, cargo_binstall, disable_default_shorthands, legacy python/pipx aliases) by removing them from the generated settings.toml/schema/mise.json and deleting their migration wiring in src/config/settings.rs.

Updates docs and e2e coverage to reflect the supported replacements, notably standardizing npm tests on MISE_NPM_PACKAGE_MANAGER and documenting disable_default_registry in docs/configuration.md.

Reviewed by Cursor Bugbot for commit af26f77. Bugbot is set up for automated code reviews on this repo. Configure here.

Remove deprecated setting aliases that have been replaced for 18+ months:
- `asdf` → use `disable_backends` instead
- `cargo_binstall` → use `cargo.binstall` instead
- `disable_default_shorthands` → use `disable_default_registry` instead
- `npm.bun` → use `npm.package_manager` instead
- `pipx_uvx` → use `pipx.uvx` instead
- `python_compile` → use `python.compile` instead
- `python_default_packages_file` → use `python.default_packages_file` instead
- `python_patch_url` → use `python.patch_url` instead
- `python_patches_directory` → use `python.patches_directory` instead
- `python_precompiled_arch` → use `python.precompiled_arch` instead
- `python_precompiled_os` → use `python.precompiled_os` instead
- `python_pyenv_repo` → use `python.pyenv_repo` instead
- `python_venv_stdlib` → use `python.venv_stdlib` instead
- `vfox` → use `disable_backends` instead

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Apr 4, 2026

Greptile Summary

Removes 13 long-deprecated settings (asdf, cargo_binstall, disable_default_shorthands, pipx_uvx, and 9 python_* flat-name aliases) from settings.toml, schema/mise.json, and their migration logic in settings.rs, along with related e2e coverage. Note that npm.bun is listed in the PR description as removed but remains defined in settings.toml/schema/mise.json and its migration code (if self.npm.bun { ... }) is intentionally kept — only its e2e tests were removed.

Confidence Score: 5/5

Safe to merge — removing 18+-month-old deprecated aliases with no P0/P1 findings

All canonical replacement settings preserve the same environment variable names (MISE_CARGO_BINSTALL, MISE_PIPX_UVX, MISE_PYTHON_COMPILE, etc.), so no user-facing env var breaks occur. The only finding is a cosmetic P2 leftover unset line in a test file.

e2e/backend/test_npm_package_manager has a leftover unset MISE_NPM_BUN on line 30 that can be cleaned up

Important Files Changed

Filename Overview
src/config/settings.rs Removes migration blocks for 13 deprecated settings; intentional npm.bun handling retained
settings.toml Drops 13 deprecated flat-name settings; npm.bun kept as still-deprecated (hidden) alias
schema/mise.json Schema entries for all 13 removed deprecated settings deleted cleanly
e2e/backend/test_npm_package_manager Legacy npm.bun tests removed; leftover unset MISE_NPM_BUN on line 30 is dead code
e2e/backend/test_backend_missing_deps Correctly replaces MISE_NPM_BUN=true with MISE_NPM_PACKAGE_MANAGER=bun
docs/configuration.md Updates example to use disable_default_registry instead of removed disable_default_shorthands

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["User sets deprecated env var\n(e.g. MISE_CARGO_BINSTALL=0)"] -->|"Before PR"| B["Migration in set_hidden_configs\nmaps to canonical setting"]
    B --> C["cargo.binstall used"]
    A2["User sets deprecated env var\n(e.g. MISE_CARGO_BINSTALL=0)"] -->|"After PR"| D["Setting silently ignored\n(alias removed)"]
    A3["User sets canonical env var\n(MISE_CARGO_BINSTALL=0 via cargo.binstall)"] --> C
    style D fill:#f99,stroke:#c33
Loading

Fix All in Claude Code

Reviews (4): Last reviewed commit: "fix: restore npm.bun deprecated setting ..." | Re-trigger Greptile

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 removes a significant number of deprecated configuration settings from the mise codebase, including asdf, cargo_binstall, disable_default_shorthands, npm.bun, pipx_uvx, and multiple python-specific options. The changes span documentation, the JSON schema, settings.toml, and the internal Rust configuration logic, effectively cleaning up legacy code and tests. I have no feedback to provide.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 4, 2026

Hyperfine Performance

mise x -- echo

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.4.3 x -- echo 21.8 ± 0.3 21.2 24.7 1.00
mise x -- echo 22.2 ± 0.3 21.5 24.0 1.02 ± 0.02

mise env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.4.3 env 21.5 ± 0.9 20.8 27.7 1.00
mise env 21.7 ± 0.2 20.9 22.6 1.01 ± 0.04

mise hook-env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.4.3 hook-env 22.0 ± 0.2 21.4 23.8 1.00
mise hook-env 22.4 ± 0.3 21.7 23.7 1.02 ± 0.02

mise ls

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.4.3 ls 19.3 ± 0.2 18.7 20.7 1.00
mise ls 19.8 ± 0.3 19.2 21.5 1.02 ± 0.02

xtasks/test/perf

Command mise-2026.4.3 mise Variance
install (cached) 147ms 147ms +0%
ls (cached) 77ms 77ms +0%
bin-paths (cached) 81ms 81ms +0%
task-ls (cached) 832ms 791ms +5%

jdx and others added 4 commits April 4, 2026 17:34
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The go_* settings were just renamed to go.* namespace and their
migration code needs to stay.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@risu729
Copy link
Copy Markdown
Contributor

risu729 commented Apr 4, 2026

If it's intended sorry, but npm.bun is deprecated in last December, not that old.
#7214

Also regenerates schema and docs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 9eaeeb9. Configure here.

@jdx jdx enabled auto-merge (squash) April 4, 2026 18:01
@jdx jdx merged commit 0add49f into main Apr 4, 2026
37 checks passed
@jdx jdx deleted the remove-deprecated-python-settings branch April 4, 2026 18:16
richardthe3rd pushed a commit to richardthe3rd/mise that referenced this pull request Apr 4, 2026
jdx pushed a commit that referenced this pull request Apr 5, 2026
### 🚀 Features

- **(ci)** auto-convert external PRs to draft mode by @jdx in
[#8896](#8896)
- **(deps)** add `depends` field for user-specified tool dependencies by
@cprecioso in [#8776](#8776)
- **(dotnet)** support runtime-only installs by @fragon10 in
[#8524](#8524)
- **(npm)** apply install_before to transitive dependencies by @risu729
in [#8851](#8851)
- **(task)** allow passing arguments to task dependencies via
{{usage.*}} templates by @jdx in
[#8893](#8893)
- add options field to BackendListVersionsCtx by @esteve in
[#8875](#8875)

### 🐛 Bug Fixes

- **(backend)** filter PEP 440 .dev versions in fuzzy version matching
by @richardthe3rd in [#8849](#8849)
- **(ci)** update COPR BuildRequires rust version to match MSRV 1.88 by
@jdx in [#8911](#8911)
- **(ci)** add Ruby build dependencies to e2e Docker image by @jdx in
[#8910](#8910)
- **(ci)** add missing build dependencies to e2e Docker image by @jdx in
[#8912](#8912)
- **(ci)** add missing build dependencies to e2e Docker image by @jdx in
[#8914](#8914)
- **(ci)** use Node 24 LTS for corepack e2e test by @jdx in
[#8915](#8915)
- **(ci)** add libxml2 and pkg-config to e2e Docker image by @jdx in
[#8917](#8917)
- **(ci)** add libxml2-dev to e2e image and disable Swift SPM tests by
@jdx in [#8918](#8918)
- **(docs)** use sans-serif font for badges by @jdx in
[#8887](#8887)
- **(env)** parse --env=VALUE and -E=VALUE flag forms correctly by @jdx
in [#8889](#8889)
- **(exec)** use i64::from() for seccomp syscall numbers to survive
autofix by @jdx in [#8882](#8882)
- **(github)** preserve tool options like filter_bins when version
specified via CLI by @jdx in
[#8888](#8888)
- **(github)** use alias-specific options when tool_alias has its own
config by @jdx in [#8892](#8892)
- **(install)** add locked_verify_provenance setting and detect github
attestations at lock time by @jdx in
[#8901](#8901)
- **(lock)** prune stale version entries during filtered `mise lock
<tool>` runs by @altendky in
[#8599](#8599)
- **(python)** use lockfile URL for precompiled installs by @hehaoqian
in [#8750](#8750)
- **(release)** verify all build targets succeed before releasing by
@jdx in [#8886](#8886)
- **(ruby)** support build revisions for precompiled binaries in
mise.lock by @jdx in [#8900](#8900)
- **(swift)** fall back to Ubuntu 24.04 for unsupported Ubuntu versions
by @jdx in [#8916](#8916)
- **(zsh)** avoid duplicate trust warning after cd by @timothysparg in
[#8898](#8898)
- update flake.lock and add fix for rust-bindgen to default.nix by
@esteve in [#8874](#8874)
- when direnv diff is empty, do not try to parse it by @yaleman in
[#8857](#8857)
- skip trust check for plain .tool-versions in task list by @dportalesr
in [#8876](#8876)

### 🚜 Refactor

- **(go)** rename go_* settings to go.* namespace by @jdbruijn in
[#8598](#8598)

### 📚 Documentation

- **(tasks)** clarify task_config.includes behavior by @risu729 in
[#8905](#8905)

### 🧪 Testing

- **(ci)** run e2e tests inside Docker containers by @jdx in
[#8899](#8899)

### 📦️ Dependency Updates

- bump ubi from 0.8 to 0.9 by @jdx in
[#8906](#8906)
- bump zip from 3 to 8 by @jdx in
[#8908](#8908)
- update lockfile deps (hold back rattler) by @jdx in
[#8909](#8909)
- update bun.lock by @jdx in
[#8913](#8913)

### 📦 Registry

- add turso
([github:tursodatabase/turso-cli](https://github.com/tursodatabase/turso-cli))
by @kenn in [#8884](#8884)
- remove carp test by @jdx in
[#8894](#8894)

### Chore

- **(ci)** add workflow to warn PRs modifying vendored aqua-registry by
@jdx in [#8897](#8897)
- **(ci)** use github.token for draft conversion in auto-draft workflow
by @jdx in [#8903](#8903)
- remove deprecated settings older than 12 months by @jdx in
[#8904](#8904)

### New Contributors

- @dportalesr made their first contribution in
[#8876](#8876)
- @timothysparg made their first contribution in
[#8898](#8898)
- @hehaoqian made their first contribution in
[#8750](#8750)
- @jdbruijn made their first contribution in
[#8598](#8598)
- @cprecioso made their first contribution in
[#8776](#8776)
- @yaleman made their first contribution in
[#8857](#8857)
- @kenn made their first contribution in
[#8884](#8884)
- @fragon10 made their first contribution in
[#8524](#8524)

## 📦 Aqua Registry Updates

#### New Packages (6)

- [`ahkohd/oyo`](https://github.com/ahkohd/oyo)
- [`bellicose100xp/jiq`](https://github.com/bellicose100xp/jiq)
- [`kurama/dealve-tui`](https://github.com/kurama/dealve-tui)
- [`micahkepe/jsongrep`](https://github.com/micahkepe/jsongrep)
- [`textfuel/lazyjira`](https://github.com/textfuel/lazyjira)
- [`ubugeeei/vize`](https://github.com/ubugeeei/vize)

#### Updated Packages (1)

- [`sigstore/cosign`](https://github.com/sigstore/cosign)
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