mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-10-28 08:36:04 +08:00
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request Finishes DEP-3 by moving the central System.CommandLine pin from `2.0.1` to `2.0.12`, the latest 2.0.x servicing release. No code changes are needed. CLI help, errors, and exit codes stay the same. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] Closes: N/A (DEP-3 roadmap item; follows #50884) <!-- - [ ] Closes: #yyy (add separate lines for additional resolved issues) --> - [x] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [x] **Tests:** Added/updated and all pass (existing tests; version bump only) - [ ] **Localization:** All end-user-facing strings can be localized (no new strings) - [x] **Dev docs:** Added/updated (`doc/devdocs/cli-conventions.md`) - [ ] **New binaries:** Added on the required places (none) - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** N/A <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments - **Library source is unchanged.** The 2.0.12 commit (dotnet/dotnet `95017c7`) descends from the 2.0.1 commit (`fad253f`). The last commit that touches `src/command-line-api/src/System.CommandLine` is `4ad7638` (2025-11-14) in both, so 2.0.2–2.0.12 are .NET 10 servicing rebuilds. - **The package layout matches 2.0.1:** the same `net8.0` and `netstandard2.0` targets, 13 satellite cultures, and no `net8.0` dependencies. `generateAllFileComponents.ps1` harvests satellites at build time, so the installer needs no change. - **AssemblyVersion is now `2.0.12.0`** with the same public key token. .NET doesn't need binding redirects. - **Restored anonymously** from `PowerToysPublicDependencies`, where 2.0.12 was already saved. Nothing new was pulled from nuget.org. NOTICE.md doesn't list this package. <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed - `msbuild <proj> -t:Restore -p:RestorePackagesConfig=true -p:SolutionDir=<repo>\`, run with `NUGET_PLUGIN_PATHS` pointing at an empty folder, for all 10 consumers and their test projects: all exit 0. - `tools\build\build.ps1 -Platform x64 -Configuration Debug -Path <dir>` for 11 consumer and test projects: all exit 0, with no new warnings. - `vstest.console.exe <dll> /Platform:x64`: LightSwitch.Cli 221/221, AdvancedPaste.Cli 154/154, PowerDisplay.Cli 130/130, DSC 115/115, ImageResizer 213/213, Awake 7/7, CmdPal Shell 128 passed and 1 skipped. - Settings.UI.UnitTests: 426/448 pass, including all 19 `SettingsCliTests`. The 22 failures are `ImageResizer`/`KeyboardManager` view-model tests where `ResourceLoaderInstance` throws `FileNotFoundException`. The same 22 tests fail on a 2.0.1 baseline. - A/B test: 31 calls across 7 CLIs (`--help`, unknown command or option, invalid values) built against 2.0.1 and 2.0.12. stdout, stderr, and exit codes are byte-identical.