Repository navigation
fix(config): deprecate env.mise directives - #11053
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Central YAML (base), Organization UI (inherited) Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
🚧 Files skipped from review as they are similar to previous changes (5)
📝 WalkthroughWalkthroughConfiguration parsing rejects ChangesConfiguration namespace validation
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
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. Comment |
Greptile SummaryThis PR deprecates the
Confidence Score: 5/5Safe to merge — the change adds a deprecation warning and a hard rejection for an undocumented alias; existing valid configurations using The No files require special attention. Important Files Changed
Reviews (6): Last reviewed commit: "fix(config): restore env.mise removal ti..." | Re-trigger Greptile |
There was a problem hiding this comment.
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 `@src/config/config_file/mise_toml.rs`:
- Around line 1856-1875: Update deserialize_vars to detect the mise key
recursively through arbitrarily nested toml::Value::Array structures, while
retaining the existing table check and rejection error. Reuse this recursive
check before EnvList::deserialize so deeply nested vars payloads cannot bypass
validation.
🪄 Autofix (Beta)
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: Central YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Pro Plus
Run ID: a801f206-5458-4a64-aca3-9a37b4081050
📒 Files selected for processing (5)
docs/environments/index.mde2e/env/test_env_filesrc/config/config_file/mise_toml.rssrc/task/mod.rssrc/task/task_template.rs
37efd94 to
8fdcc76
Compare
8fdcc76 to
53d90dd
Compare
Summary
env.misedirective namespace is used starting in mise 2026.7.0env.misesupport in mise 2026.12.0vars.misedirective namespace without a deprecation period, including through nested arraysenv._replacementWhy
env.misepredates the canonicalenv._spelling and has remained as an undocumented compatibility alias.env._has been supported since January 2024, so this PR intentionally uses a shortened deprecation window from 2026.7.0 to 2026.12.0 rather than the normal 12-month window. The replacement has already been available for more than two years.vars.misewas only accepted because vars reused the environment directive deserializer; it was never documented or represented in the schema, so it is removed without a deprecation period.Impact
Existing
env.mise.*configurations continue to work through mise 2026.11.x but emit a warning directing users toenv._.*. Support is removed starting in mise 2026.12.0.vars.miseconfigurations now fail parsing;vars._remains supported. The schema already exposes only_, so no schema change is needed.Validation
mise run format(includes lint-fix, cargo check, schema validation, shellcheck, and formatting checks)mise run test:unit test_vars_mise_is_not_a_directive_namespacemise run test:e2e e2e/env/test_env_fileSummary by CodeRabbit
Deprecations
env.misespelling.env._instead; the legacy spelling is scheduled for removal in mise 2026.12.0.Bug Fixes
vars.miseare now rejected with a clear error message.Documentation
env.misetoenv._.