This release represents our first Windows Package Manager 1.5 release candidate build for Windows 10 (1809+) and Windows 11.
The Microsoft.WinGet.Client PowerShell module has been published to the PowerShell Gallery.
Experimental features have been disabled in this release. We will follow this release with another preview release build at GitHub so users can continue with experimental features available.
Features
- Pin a package #476
- Switch for --uninstallPrevious for upgrade #2727
- Add --custom argument for passing additional installer arguments by @Trenly in #2832
- Improve correlation for optimized search in rest source and improve general correlation by downloading manifests by @yao-msft in #3252
Bugs
- Copy install behavior flags on upgrade --all by @florelis in #2794
- Fix PATH behavior of non-symlink installations for Portables/Zip by @ryfu-msft in #3002
- Don't read past the end of the HTTP stream by @JohnMcPMS in #3300
What's Changed
- Implement WinGetUserSettings cmdlets by @msftrubengu in #2776
- Bump version from 1.5 by @ryfu-msft in #2823
- Update Documentation for manifest 1.4 by @Trenly in #2659
- Refactor test workflow source search by @florelis in #2782
- Fix typo in CONTRIBUTING.md by @pedrodsrodrigues in #2831
- Fix typo in Settings.md by @pedrodsrodrigues in #2830
- Make correlation test script work on powershell.exe by @florelis in #2834
- Implement DSC Resources by @msftrubengu in #2788
- Add Experimental Argument for UninstallPrevious in Upgrade Flow by @Trenly in #2755
- Copy install behavior flags on upgrade --all by @florelis in #2794
- Exclude non-Windows runtime binaries from PowerShell Module by @ryfu-msft in #2837
- Make --Open-Logs Stable by @Trenly in #2841
- Add --custom argument for passing additional installer arguments by @Trenly in #2832
- Add database for tracking pins and base implementation for pin commands by @florelis in #2769
- Show which admin setting has been enabled/disabled in confirmation string by @Trenly in #2846
- Refactor some code into shared library by @JohnMcPMS in #2844
- Add rest interface 1.4 to supported list by @yao-msft in #2853
- Block msix provisioning api calls where known OS bugs exist by @yao-msft in #2855
- Allow Version Listing through 'Winget Search' by @Trenly in #2847
- Refactor arg validation by @florelis in #2862
- Rename privacy.md to PRIVACY.md by @WilliamDavidHarrison in #2907
- fix: remove extra space by @WilliamDavidHarrison in #2904
- chore: remove blank line by @WilliamDavidHarrison in #2906
- feat: update pr template by @WilliamDavidHarrison in #2905
- feat(template): update title + desc for feature request by @WilliamDavidHarrison in #2915
- feat(template): update title + desc for docs report by @WilliamDavidHarrison in #2914
- feat(template): update title + desc for bug report by @WilliamDavidHarrison in #2913
- Remove use of Invoke-Expression in test script by @florelis in #2921
- Show Enabled Admin Settings in --info by @Trenly in #2901
- Update zlib library in Pure project by @ryfu-msft in #2923
- Fix GetFullNameFromFamilyName for non-elevated context by @yao-msft in #2922
- Allow multiple apps in a single command by @florelis in #2861
- Use C# wrapper objects for PowerShell cmdlet output by @ryfu-msft in #2871
- Fix behavior for user settings scope preference/requirement for portable install by @ryfu-msft in #2918
- Fix Summary telemetry event by @yao-msft in #2941
- Implement package pinning by @florelis in #2813
- Spec for package pinning by @yao-msft in #2611
- Fix spelling from pinning spec by @yao-msft in #2946
- Give admin access to temp folder by @yao-msft in #2945
- Down sampling telemetry events by @yao-msft in #2950
- Add support for elevation requirement in COM by @ryfu-msft in #2919
- Add std::endl after enabling/disabling Admin Setting by @Trenly in #2958
- Update settings.schema.0.2.json to include pinning feature by @florelis in #2961
- Update expect.txt by @RDMacLachlan in #2968
- Config code by @JohnMcPMS in #2942
- Add alternate url support for some predefined sources by @JohnMcPMS in #2970
- Remove zip from 1.2 schema by @Trenly in #2996
- Remove zip installer type from 1.0 and 1.1 manifests by @ryfu-msft in #3006
- Fix order of pin labels by @Trenly in #3016
- Configuration processors by @msftrubengu in #3008
- docs: fix "default install root" location by @Lutra-Fs in #3034
- Microsoft.Management.Configuration Windows target platform by @msftrubengu in #3032
- Fix typo in MSStore get entitlement log by @yao-msft in #3031
- AnyCPU for Microsoft.Management.Configuration.Projection and Microsoft.Management.Configuration.Processor by @msftrubengu in #3041
- Expose Agreements and Locale Fields in COM by @ryfu-msft in #2897
- Configuration commands by @JohnMcPMS in #3036
- User/romaclac/spec enable store UI bypass by @RDMacLachlan in #3035
- Clarify
No installed package matching the input criteria was found
in upgrade flow by @Trenly in #2877 - Use copy instead of rename for moving extracted archive directories by @ryfu-msft in #3003
- Add installed files and startup link metadata collection in Installer Metadata collection util by @yao-msft in #2985
- Explicitly prevent fallthrough on OperationType by @Trenly in #3075
- Schema draft for WinGet configure by @ryfu-msft in #2851
- Fix PATH behavior of non-symlink installations for Portables/Zip by @ryfu-msft in #3002
- Define properties object in configuration schema by @ryfu-msft in #3081
- Make sure source agreements are initialized before checking by @yao-msft in #3080
- Rework extra packaged files mechanism by @JohnMcPMS in #3064
- Add new icon assets by @denelon in #3086
- Add diagnostics to the processor component by @JohnMcPMS in #3087
- Implement PowerShell cmdlets by @msftrubengu in #2838
- Add logging around specific number of matches by @Trenly in #3094
- Reformat Microsoft.WinGet.Client module output by @ryfu-msft in #3088
- Make ConfigurationRemotingServer selfcontained by @msftrubengu in #3097
- Processor improvements by @msftrubengu in #3101
- Put required modules into the repo and consume them in dev scenarios by @JohnMcPMS in #3103
- Throw exception if Import-Module fails by @msftrubengu in #3104
- Add experimental feature support for enabling Windows Feature dependencies by @ryfu-msft in #3005
- Fix internal build by @msftrubengu in #3106
- Update the privacy statement link in README to link to correct page by @ShyAssassin in #3116
- Remove one unnecessary lock per localization team suggestion by @yao-msft in #3115
- Pass COM caller name to rest source in request header by @yao-msft in #3112
- Enforce single install across winget processes by @JohnMcPMS in #3118
- Support to Bypass Store Client App Policy When Called Through COM by @PaulJYim in #3105
- Bug fixes by @msftrubengu in #3127
- Use in-proc winget in PowerShell module when running as SYSTEM by @JohnMcPMS in #3129
- Improve correlation by keeping arch info declared in manifest arp DisplayName entry by @yao-msft in #3100
- Show Portable Installation Directories with --info by @Trenly in #3128
- Use FolderId_ProgramFiles for non x86 default machine portable folder by @yao-msft in #3137
- Add Windows10SDK 19041 Workload Component to VSConfig File by @ryfu-msft in #3143
- Add support for bool, strings and arrays in Configuration settings by @msftrubengu in #3135
- Add isPublic to IConfigurationUnitProcessorDetails by @msftrubengu in #3145
- fix PRIVACY.md links by @ave9858 in #3147
- Update README.md by @mdanish-kh in #3148
- Add refreshed Store source certs by @yao-msft in #3149
- Add configuration telemetry events by @JohnMcPMS in #3152
- Improve configure user experience by @JohnMcPMS in #3158
- Fix bugs with display paths by @JohnMcPMS in #3157
- Microsoft.WinGet.Client custom assembly load context by @msftrubengu in #3150
- Mark events as critical for now by @JohnMcPMS in #3171
- Add table with pinned packages when doing
upgrade --include-pinned
by @florelis in #3173 - Fix PSInstalledCatalogPackage being piped to Upgrade-WinGetPackage by @msftrubengu in #3174
- WinGetPackage DSC Resource by @msftrubengu in #2863
- Add argument to list only upgradeable by @Trenly in #3162
- Enable module/resource syntax and improve file error reporting by @JohnMcPMS in #3186
- Start Microsoft.WinGet.Configuration module by @msftrubengu in #3187
- Fix a few issues with the single package targeting commands by @JohnMcPMS in #3196
- Enable building everything needed in PowerShell with static runtime by @JohnMcPMS in #3193
- Fix tags for --count argument by @florelis in #3195
- Repair-WinGetPackage download VCLibs if needed by @msftrubengu in #3180
- Make entitlement best effort by @JohnMcPMS in #3172
- Add manual platform attributes by @JohnMcPMS in #3203
- Initial implementation of Microsoft.WinGet.Configuration cmdlets. by @msftrubengu in #3204
- More PS build fixes by @JohnMcPMS in #3208
- Add configuration alias by @JohnMcPMS in #3225
- Allow prerelease modules for configuration by @msftrubengu in #3217
- Queue write operations for Start-* cmdlets and hook up diagnostics by @msftrubengu in #3222
- Record Product Codes in pinning table by @florelis in #3167
- Allow ${WinGetConfigRoot} variable expansion by @msftrubengu in #3237
- Add Friendlier Messages for Error Codes by @Trenly in #3201
- Add Table of Error Codes to Docs by @Trenly in #3202
- Explicity not support cmdlets in Windows PowerShell by @msftrubengu in #3238
- Configuration Schema 0.2 by @msftrubengu in #3241
- Update PSDesiredStateConfiguration module min version to 2.0.7 by @msftrubengu in #3251
- Microsoft.WinGet.Client throws System.InvalidOperationException: Attempt to update previously set global instance by @msftrubengu in #3253
- Fix packages with dependencies being installed via COM by @JohnMcPMS in #3254
- Fix spelling mistake in german by @Speedfighter in #3250
- Add icon extraction to installer metadata collection by @yao-msft in #3235
- Add initial version of manifest 1.5 by @yao-msft in #3255
- Improve correlation for optimized search in rest source and improve general correlation by downloading manifests by @yao-msft in #3252
- Microsoft.WinGet.Configuration messages by @msftrubengu in #3242
- Disable warnings in external projects by @florelis in #3256
- Add User Setting controlling Path Tokenization by @Trenly in #3209
- Configuration cancellation support by @JohnMcPMS in #3244
- Update build projects by @msftrubengu in #3264
- Fix new warning C26495 from wil header in VS 17.6 by @JohnMcPMS in #3266
- Add Microsoft.WinGet.Configuration module to ReleaseStatic configuration by @msftrubengu in #3262
- Add WinGet configuration by @denelon in #3277
- Make --uninstall-previous argument stable by @Trenly in #3282
- Add icons entries to yaml manifest, rest interface and com interface by @yao-msft in #3273
- Treat warning not as error for CS8785 by @ryfu-msft in #3301
- Move HasData check to default installation location check only by @yao-msft in #3302
- Don't read past the end of the HTTP stream by @JohnMcPMS in #3300
- Update localization from build 2306.01001 by @JohnMcPMS in #3316
- Make pinning a stable feature by @florelis in #3315
New Contributors
- @pedrodsrodrigues made their first contribution in #2831
- @WilliamDavidHarrison made their first contribution in #2907
- @RDMacLachlan made their first contribution in #2968
- @Lutra-Fs made their first contribution in #3034
- @ShyAssassin made their first contribution in #3116
- @PaulJYim made their first contribution in #3105
- @ave9858 made their first contribution in #3147
- @mdanish-kh made their first contribution in #3148
- @Speedfighter made their first contribution in #3250
Full Changelog: v1.4.11071...v1.5.1572