fix(dotnet): use shared prerelease tool option#9720
Conversation
There was a problem hiding this comment.
Code Review
This pull request standardizes the prerelease tool option across the aqua, github, and dotnet backends, deprecating the legacy plural prereleases spelling and the dotnet.package_flags = ["prerelease"] setting. The dotnet backend was refactored to simplify version listing by leveraging the base trait's filtering logic, and documentation, tests, and JSON schemas were updated to reflect these changes. I have no feedback to provide as there were no review comments.
Greptile SummaryThis PR refactors the dotnet backend to always fetch the full NuGet prerelease superset (
Confidence Score: 5/5Safe to merge — the refactor is well-scoped and the NuGet-always-prerelease approach correctly delegates filtering to the shared cache path used by every other backend. The core change (always fetching the NuGet prerelease superset and filtering at read time) is a straight port of the pattern that already works for GitHub and Aqua. The trait-method promotion of include_prereleases is mechanical and all call sites are updated. Deprecation dates in settings.toml, the deprecated_at! call, and the schema annotation are all consistent. No behavioural regressions were found on the filtering, caching, or latest-resolution paths. No files require special attention. Important Files Changed
Reviews (5): Last reviewed commit: "refactor(backend): fold prerelease optio..." | Re-trigger Greptile |
### 🚀 Features - add --inactive option to outdated and upgrade commands for inactive tools by @roele in [#9640](#9640) ### 🐛 Bug Fixes - **(aqua)** resolve bin paths for prefixed v tags by @risu729 in [#9759](#9759) - **(bun)** create bunx alongside bun.exe on Windows install by @JamBalaya56562 in [#9732](#9732) - **(dotnet)** use shared prerelease tool option by @risu729 in [#9720](#9720) - **(node)** use matching node in npm shim by @jdx in [#9749](#9749) - **(task)** resolve bash deterministically on Windows to avoid WSL launcher by @JamBalaya56562 in [#9750](#9750) ### 📚 Documentation - **(secrets)** clarify age strict mode default by @risu729 in [#9737](#9737) - **(tasks)** add bash shebang to conditional-dependencies example by @JamBalaya56562 in [#9747](#9747) - update backend tool option docs by @risu729 in [#9738](#9738) ### 📦 Registry - remove tools with zero users by @jdx in [#9725](#9725) - add scalafmt ([github:scalameta/scalafmt](https://github.com/scalameta/scalafmt)) by @pokir in [#9757](#9757) - remove flarectl by @risu729 in [#9756](#9756) ### Chore - **(release)** strip pre-existing sponsor block before appending canonical one by @jdx in [#9745](#9745) ### New Contributors - @pokir made their first contribution in [#9757](#9757)
Summary
prerelease = truesupport for dotnet while keeping the existing globalprereleasessetting and deprecateddotnet.package_flags = ["prerelease"]compatibilitylatestresolves from the full prerelease-aware version listTesting
cargo fmt --all -- --check/home/risu/.cargo/bin/cargo test test_include_prereleases --bin misemarkdownlint docs/dev-tools/backends/aqua.md docs/dev-tools/backends/dotnet.md docs/dev-tools/backends/github.mdmise run render:schemaPATH=/home/risu/.cargo/bin:$PATH mise run test:e2e e2e/backend/test_dotnetMISE_EXPERIMENTAL=1 ./target/debug/mise ls-remote dotnet:GitVersion.Tooldoes not show beta versions after a prerelease cache fillMISE_EXPERIMENTAL=1 ./target/debug/mise ls-remote "dotnet:GitVersion.Tool[prerelease=true]"shows beta versionsMISE_EXPERIMENTAL=1 MISE_DOTNET_PACKAGE_FLAGS=prerelease ./target/debug/mise ls-remote dotnet:GitVersion.Toolshows beta versionsThis PR was generated by an AI coding assistant.