Skip to content

fix(upgrade): deprecate ambiguous -l shorthand - #11945

Merged
jdx merged 3 commits into
mainfrom
codex/deprecate-upgrade-l
Aug 13, 2026
Merged

jdx merged 3 commits into
mainfrom
codex/deprecate-upgrade-l

Conversation

@jdx

@jdx jdx commented Aug 12, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • add -b as the visible shorthand for --bump on mise upgrade and mise outdated
  • hide and deprecate the legacy -l bump shorthand until mise 2027.8.5, after which it can be reassigned to --local
  • when configured ranges are current but a real --bump candidate exists, explain that newer versions are available outside those ranges
  • update generated CLI documentation and focused E2E coverage

Motivation

-l was originally chosen to mean “latest,” even though its long-form flag is --bump. That is surprising and prevents the natural -l shorthand for the existing --local option. It also contributed to misleading “All tools are up to date” output for exact pins.

Validation

  • mise run lint-fix
  • cargo check --all-features --locked
  • mise run test:e2e e2e/cli/test_outdated e2e/cli/test_upgrade
  • mise run render:usage

AI-assisted — Tool: Codex; model: OpenAI/GPT-5; version: unavailable.


Note

Low Risk
Backward-compatible CLI deprecation with tests and docs; behavior change is limited to flag shorthands and clearer “up to date” messaging.

Overview
mise outdated and mise upgrade now expose -b as the primary shorthand for --bump. The old -l bump shorthand is hidden from help, still accepted with a deprecated_at! warning (removal planned 2027.8.5), and documented so -l can later mean --local.

When tools are current within configured version ranges but a --bump-style upgrade would be available, both commands print an info line pointing users to --bump instead of the previous generic hint.

Generated CLI docs (docs/cli, man, mise.usage.kdl) and e2e tests cover help text, -b/-l behavior, and the new message.

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

Summary by CodeRabbit

  • Changes
    • Updated outdated and upgrade commands to use -b as the shorthand for --bump.
    • Continued temporary support for -l with deprecation warnings; it will later be reassigned to --local.
    • Improved reporting when newer versions exist outside configured version ranges.
  • Documentation
    • Updated command references and help text with the new flag and deprecation timeline.
  • Tests
    • Added coverage for shorthand usage, legacy option warnings, and out-of-range version reporting.

@greptile-apps

greptile-apps Bot commented Aug 12, 2026 •

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR preserves the legacy -l bump behavior behind a deprecation warning while making -b the visible shorthand, and improves messaging when newer versions fall outside configured ranges.

  • Adds hidden compatibility flags and timed deprecation notices to outdated and upgrade.
  • Performs a bump-aware follow-up query before reporting out-of-range versions.
  • Updates generated CLI documentation and focused E2E coverage.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
src/cli/outdated.rs Reassigns the visible bump shorthand, preserves deprecated -l behavior, and conditionally reports available versions outside configured ranges.
src/cli/upgrade.rs Adds the same shorthand migration and performs a filtered bump-aware query before displaying the new availability message.
mise.usage.kdl Updates canonical usage metadata with the visible -b flags, hidden legacy flags, and deprecation guidance.
e2e/cli/test_outdated Covers help visibility, legacy shorthand compatibility, deprecation output, and out-of-range messaging.
e2e/cli/test_upgrade Covers help visibility, deprecated -l, the new -b shorthand, dry-run behavior, and out-of-range messaging.

Reviews (3): Last reviewed commit: "test(upgrade): cover deprecated bump sho..." | Re-trigger Greptile

@coderabbitai

coderabbitai Bot commented Aug 12, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited), Organization UI (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: 9b41144a-cbd8-40fd-97d6-000b41dac7d5

📥 Commits

Reviewing files that changed from the base of the PR and between 55e7719 and e69a911.

📒 Files selected for processing (3)
  • e2e/cli/test_outdated
  • e2e/cli/test_upgrade
  • man/man1/mise.1
🚧 Files skipped from review as they are similar to previous changes (2)
  • e2e/cli/test_outdated
  • e2e/cli/test_upgrade

📝 Walkthrough

Walkthrough

The outdated and upgrade commands now use -b for --bump. They retain hidden -l compatibility with deprecation warnings. Both commands check for newer versions outside configured ranges.

Changes

Bump flag migration

Layer / File(s) Summary
Flag contracts and deprecation guidance
mise.usage.kdl, src/cli/outdated.rs, src/cli/upgrade.rs, docs/cli/outdated.md, docs/cli/upgrade.md, man/man1/mise.1
The commands use -b as the --bump shorthand. Hidden -l aliases remain supported and documented as deprecated.
Outdated compatibility and version lookup
src/cli/outdated.rs, e2e/cli/test_outdated
outdated warns when invoked with -l and checks for newer versions outside configured ranges. Tests cover help output, deprecated usage, out-of-range versions, and JSON output.
Upgrade compatibility and version lookup
src/cli/upgrade.rs, e2e/cli/test_upgrade
upgrade warns when invoked with -l and prints bump guidance only when broader versions exist. Tests cover the new shorthand and diagnostics.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Mergeability Score: ⚪ Minimal · up to e69a9

This localized CLI and documentation change is merge-ready after normal checks and review; no actionable merge-blocking risk remains.

Suggested reviewers: jambalaya56562

Poem

A rabbit sees -b lead the way,
While -l warns before its final day.
Newer versions hop beyond the range,
Both commands now report the change.
Tests twitch their noses: all is clear.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately identifies the deprecation of the ambiguous -l shorthand, which is a primary change in the upgrade and outdated commands.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@e2e/cli/test_outdated`:
- Around line 21-23: Extend the assertions for the deprecated -l alias to verify
it enables bump mode: in e2e/cli/test_outdated lines 21-23, assert that mise
outdated dummy -l reports version 2.0.0; in e2e/cli/test_upgrade lines 17-18,
assert that mise upgrade dummy -l --dry-run reports “Would install dummy@2.0.0”.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited), Organization UI (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: e58cf0bb-ac3f-490b-a336-f2ad100e0e56

📥 Commits

Reviewing files that changed from the base of the PR and between abf5621 and 76e88c1.

📒 Files selected for processing (7)
  • docs/cli/outdated.md
  • docs/cli/upgrade.md
  • e2e/cli/test_outdated
  • e2e/cli/test_upgrade
  • mise.usage.kdl
  • src/cli/outdated.rs
  • src/cli/upgrade.rs

Comment thread e2e/cli/test_outdated Resolved
@github-actions

Copy link
Copy Markdown
Contributor

Instruction counts

benchmark trend instructions Δ wall (min) Δ
env ▄▁▃▃▃▃▄▄▄▃▂▁▁▂▁▃▅█▆ 80,907,790 → 80,848,185 -0.07% 18.68 → 19.12ms +2.38%
hook-env ▃▁▂▃▂▂▂▃▂▃▁▁▂▂▁▅█▇▇ 82,405,617 → 82,392,664 -0.02% 21.43 → 20.55ms -4.09%
ls █▇▇▇▃▃▃▃▂▁▁▁▁▁▁▂▅▄▃ 73,423,991 → 73,364,214 -0.08% 16.65 → 16.83ms +1.09%
registry ████▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 43,177,615 → 43,294,561 +0.27% 11.62 → 12.52ms +7.77%
startup ▄▁▄▅▆█▇█▆█▂▂▃▃▃▇▆▆▅ 15,573,715 → 15,572,297 -0.01% 9.72 → 9.64ms -0.76%

No instruction-count regression above 1%.

Only instruction counts gate. Wall clock is shown for context — on identical hardware it moves 4-20% run to run.

Measured by tak — instruction-counted CLI benchmarks, stored in this repository's git notes.

55e77196a739 vs abf5621098d4 · measured on the runner, not pushed to the history.

@jdx
jdx merged commit 110233a into main Aug 13, 2026
30 of 31 checks passed
@jdx
jdx deleted the codex/deprecate-upgrade-l branch August 13, 2026 00:56
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.

1 participant