registry: alias dotnet-core to dotnet#9807
Conversation
Greptile SummaryThis PR aliases the legacy
Confidence Score: 5/5Safe to merge — the aliasing mechanics are correct, consistent with existing patterns, and the intentional breaking change for legacy install paths is explicitly documented in the PR description. All four changed files implement exactly what the PR describes. The registry alias is emitted correctly at build time, No files require special attention. Important Files Changed
Reviews (5): Last reviewed commit: "chore(schema): restore prettier formatti..." | Re-trigger Greptile |
|
Greptile raised a valid compatibility concern: aliasing I updated the PR body to document that impact explicitly. I left the implementation as a canonical alias because preserving a separate This comment was generated by an AI coding assistant. |
Summary
dotnet-coreis a legacy shorthand for the .NET SDK. This PR aliases it to the existingdotnetregistry tool instead of adding another plugin backend toregistry/dotnet-core.toml.Changes:
dotnet-coreas an alias ofdotnetregistry/dotnet-core.tomlentrydotnet-coretodotnetin backend parsing, matching the existingnodejs -> nodeandgolang -> gocompatibility aliasesWhy this is an alias, not a runtime option
The old
mise-plugins/mise-dotnet-coreasdf plugin installs SDKs, not runtime-only packages:bin/list-allreads Microsoft's release metadata and returns each channel'slatest-sdkbin/installdownloads Microsoft'sdotnet-install.shand runs it with--version <version>and no--runtimeSo
core:dotnetalready covers the behavior thatdotnet-coreusers expect. I did not usecore:dotnet[runtime=dotnet]because that option means the .NET runtime-only package (Microsoft.NETCore.App), whilecore:dotnetlatest/prefix resolution currently resolves SDK versions. Mixing SDK version resolution with--runtime dotnetwould not preserve the old plugin behavior and can ask the installer for runtime versions that do not exist.Why canonicalization is included
A separate
registry/dotnet-core.tomlpointing directly atcore:dotnetwould make two registry shorthands resolve to the same core plugin. Core plugins are singleton backend implementations keyed by their canonical tool name, so leavingdotnet-coreas its own backend identity risks split behavior where a request usesdotnet-corepaths/options while the core plugin reports metadata underdotnet.Canonicalizing
dotnet-coretodotnetavoids that edge case. It keeps the compatibility spelling available, but internally uses the same tool identity, install path, registry defaults, and metadata path asdotnet.Compatibility impact
This is intentionally a consolidation, not a second
core:dotnetregistry identity:mise install dotnet-coreandmise install dotnetnow both use the canonical$MISE_INSTALLS_DIR/dotnetinstall directory.$MISE_INSTALLS_DIR/dotnet-coredirectory will not be discovered through thedotnet-coreshorthand after this change; users will need to reinstall withmise install dotnet-core/mise install dotnetor migrate that install manually.dotnet-corewasasdf:mise-plugins/mise-dotnet-core; the new default is the built-incore:dotnetSDK backend.Popularity
dotnet/runtime: 17,883 stars, 5,442 forks, latest releasev11.0.0-preview.4.26230.115published 2026-05-12, pushed 2026-05-14.dotnet/sdk: 3,125 stars, 1,242 forks, latest releasev8.0.421published 2026-05-12, pushed 2026-05-14.dotnetSDK tool.Local verification
Compatibility checks
mise registry dotnet-corestill resolves and reports the same backends asdotnet.mise registry --hide-aliasedhidesdotnet-core, so the canonical registry listing remainsdotnet.dotnet-coreCLI/config input is normalized todotnet, avoiding a second core-plugin install identity.core:dotnetis the correct replacement;core:dotnet[runtime=dotnet]would be a runtime-only install and is not equivalent.This PR was prepared with an AI coding assistant.