This release represents our third Windows Package Manager 1.4 release candidate build for Windows 10 (1809+) and Windows 11. Experimental features have been disabled in this release. This release also includes our Microsoft.WinGet.Client PowerShell module. Information about getting started and usage can be found here.
Note: The Windows Package Manager Community Repository does not accept zip applications. They will not be accepted until after 1.4 is Generally Available and has been rolled out to the majority of Windows systems via the automatic upgrade from the Microsoft Store. Users may test with local manifests.
Features
- Support installing .zip files #140
- Add Native PowerShell Support #221
- Support --no-upgrade option for install flow #2655
Bugs
- Fix issue that only 1 dependency package is installed #2761
- Crash in list command #2273
- Add SYSTEM to explicit ACLs #2370
What's Changed
- Block msix provisioning api calls where known OS bugs exist by @yao-msft in #2855
- Add rest interface 1.4 to supported list by @yao-msft in #2853
- Return localization independent string for help links by @AmelBawa-msft in #2786
- Don't treat the COM subcommands as distinct for telemetry by @JohnMcPMS in #2792
- Update PowerShell Module Dependency Docs by @ryfu-msft in #2797
- Adjust spacing and punctuation for manifest validation messages by @Trenly in #2805
- Apply latest localized strings patch by @ryfu-msft in #2816
- UpdateBinVer script support for updating build version only by @yao-msft in #2818
- Stop using
m_summary
in the global globals for telemetry by @florelis in #2820 - Enable long aliases by @Trenly in #2107
- Check symlink target before removal by @ryfu-msft in #2242
- Bump version to 1.4 by @ryfu-msft in #2263
- Apply latest localization patch by @ryfu-msft in #2264
- Feat: Show package tags by @Trenly in #2235
- Add support for UnsupportedArguments by @ryfu-msft in #2216
- Validate manifest installers (MSIX) by @AmelBawa-msft in #2215
- Improve index dependency consistency check by @yao-msft in #2247
- Fix spacing in 1.2 singleton schema by @ryfu-msft in #2276
- Fix unsupported args unit tests by @ryfu-msft in #2277
- Mitigate crash that can occur when installed version is null by @JohnMcPMS in #2278
- Create WinGetUtil functionality for running installed package correlation by @JohnMcPMS in #2221
- Addition of Initial 1.3 Schema by @ryfu-msft in #2189
- Add extra compilation flags for debug info by @florelis in #2281
- Migrate FabricBot Tasks to Config-as-Code by @msftbot in #2285
- Update fabricbot.json by @vedantmgoyal2009 in #2293
- Fix WinGetUtil WinGetCreateManifest result by @yao-msft in #2296
- Add alternate name to Usage String by @Trenly in #2268
- Prevent null characters from getting into SQLite by @JohnMcPMS in #2289
- Schema additions for Zip support by @ryfu-msft in #2288
- Feat: Wait upon command completion by @Trenly in #2236
- Move Release Notes to new line and indent by @Trenly in #2312
- Remove /Zi compilation flag by @florelis in #2325
- Update VCLibs file hash in correlation test script by @florelis in #2326
- Add UndockedRegFreeWinRT by @jontab in #2333
- Implementation for Zip Install (Non-Portable) by @ryfu-msft in #2320
- Don't fail fast by @JohnMcPMS in #2335
- Fix WinGetUtil index operations for manifest dependencies without min version by @yao-msft in #2337
- Explicit ACLs by @JohnMcPMS in #2324
- Prevent access to parent directories from relativeFilePath for archive install by @ryfu-msft in #2342
- Make zip install an experimental feature by @ryfu-msft in #2351
- Add InstallationMetadata to manifests for future deep installation detection by @yao-msft in #2350
- Expand WinMD discovery by @jontab in #2348
- Move to using sqlite3_errmsg to extract a contextual error for SQLite failures by @JohnMcPMS in #2352
- Add in-process and out-of-process E2E tests by @AmelBawa-msft in #2315
- Implement FolderFileWatcher by @msftrubengu in #2336
- Update CsWinRTWindowsMetadata value by @AmelBawa-msft in #2357
- Remove correlation blocker for remote->local in some cases by @JohnMcPMS in #2362
- Update documentation with 1.3 settings by @ryfu-msft in #2363
- Add Microsoft.WinGet.Client PowerShell Module files by @jontab in #2314
- Fix file overwrite warning displayed on clean first install by @ryfu-msft in #2375
- Logging improvements by @JohnMcPMS in #2378
- Add SYSTEM to explicit ACLs by @JohnMcPMS in #2370
- Remove tests that no longer serve a purpose by @JohnMcPMS in #2379
- Check for symlink creation privilege for portable install by @ryfu-msft in #2369
- Server certificate pinning for Store source by @JohnMcPMS in #2347
- Remove scope filter from being applied to portables by @ryfu-msft in #2383
- Validate SignatureSha256 for MSIX packages during the manifest validation by @AmelBawa-msft in #2384
- Enable MSI testing in CI/CD pipeline by @JohnMcPMS in #2386
- Standardize 'Show' labels to manifest fields by @Trenly in #2311
- fix
ms-windows-store
link not rendered in md by @iamCristYe in #2403 - Add command aliases by @Trenly in #2390
- Add support for
RequireExplicitUpgrade
manifest element by @florelis in #1795 - Add the ability to specify "scope or unknown" via COM by @JohnMcPMS in #2402
- Collect scope in installer metadata by @JohnMcPMS in #2415
- Copy winget unpackaged logs in E2E tests by @florelis in #2441
- Ensure default values are passed to nested installers within zip by @ryfu-msft in #2413
- Add prompts when installer aborts terminal or needs install location by @florelis in #1814
- Update Labels from Hash Command by @Trenly in #2431
- Add DisplayName to InstallationMetadata installed files by @yao-msft in #2442
- Use
UpgradeCode
for matching MSI apps by @florelis in #2418 - Add support for installing portables without developer mode and running as admin by @ryfu-msft in #2401
- Increase manifest schema version to 1.4 by @yao-msft in #2451
- Update Documentation for schema 1.2 by @Trenly in #2429
- Increase PackageIdentifier segments to max 8 by @yao-msft in #2461
- Use check-spelling/check-spelling@v0.0.20 by @jsoref in #2467
- ZIP support spec by @ryfu-msft in #2270
- Show PurchaseUrl if present in manifest by @Trenly in #2416
- Add PortableIndex for tracking portable files by @ryfu-msft in #2459
- Add
$schema
tocgmanifest.json
by @JamieMagee in #2487 - Update README link to VS Installer Project extension by @bsivanov in #2488
- Removed en-US in links by @ImJoakim in #2494
- Add logo to README.md by @vedantmgoyal2009 in #2507
- Return error codes for dependencies failure by @hackean-msft in #2410
- Add ExpectedReturnCode::ReturnResponse for PackageInUseByApplication by @Trenly in #2492
- Suppress reboot by default on msiexec based installers by @gerardog in #2499
- Fix installer metadata collection by @yao-msft in #2517
- Add Aliases to allow for quick upgrade of all and unknown by @Trenly in #2518
- Expose deeper installation detection through Com by @yao-msft in #2420
- Add PureLib subtree by @ryfu-msft in #2511
- Suppress reboot by default on Inno Setup based installers by @SpecterShell in #2536
- Add client support for parsing rest schema v1.4 by @yao-msft in #2473
- Add experimental argument to open logs folder by @Trenly in #2510
- Add support for installing portables from a zip by @ryfu-msft in #2500
- Map operation return code for msstore type installation failure as well by @yao-msft in #2540
- Fix installer renaming failure from encoded url by @yao-msft in #2555
- Add Pure to component governance manifest by @ryfu-msft in #2556
- Added WinGetUtil E2E tests by @AmelBawa-msft in #2542
- Add space before path when files remain on uninstall by @Trenly in #2560
- Additional logging when validating portable file fails by @Trenly in #2562
- Make Symlink Target Canonical by @Trenly in #2563
- Implement archive malware scan for local manifests by @ryfu-msft in #2566
- Improve installer selection during upgrade by @yao-msft in #2570
- Add zip installation to experimental features section of Settings.md by @infinitepower18 in #2584
- Make Install flow aware of package installed status by @yao-msft in #2539
- Enable mechanism for some control over correlation by @JohnMcPMS in #2577
- Mini spec on upcoming install and upgrade flow improvements by @yao-msft in #2535
- Download MSIX installer during manifest validation (if necessary) by @AmelBawa-msft in #2587
- Always fall back on msix streaming failure by @yao-msft in #2590
- Remove MSIX installers after validation is done by @AmelBawa-msft in #2591
- Fix error when everything fails by @JohnMcPMS in #2593
- Fix PowerShell module for release configuration by @ryfu-msft in #2599
- Treat little numbers as big numbers by @JohnMcPMS in #2606
- Fix compliance issues by setting Newtonsoft.Json to recommended version by @yao-msft in #2609
- Fix internal build by @yao-msft in #2610
- Added info about reinstalling App Installer to troubleshooting README.md by @AdmiralSnyder in #2616
- Update protocols max items to 64 by @ryfu-msft in #2620
- Print command aliases added on portable install by @Trenly in #2621
- Add Expected Return Code for InvalidParameter by @Trenly in #2635
- Add an issue option to guide users to winget-pkgs for package issues by @SpecterShell in #2658
- Get arguments when using archive type package by @Trenly in #2660
- Revert "Get arguments when using archive type package" by @Trenly in #2663
- Disable toast notification for silent mode for MSStore type installation by @yao-msft in #2652
- Support --no-upgrade option for install flow by @yao-msft in #2655
- Group policy control for BypassCertificatePinningForMicrosoftStore by @AmelBawa-msft in #2637
- Update localized strings by @ryfu-msft in #2684
- Manifest (Msix) installer validation - Try parsing package version by @AmelBawa-msft in #2692
- Update NuGet Packages by @Trenly in #2690
- Don't enable/disable admin settings if group policy prevents it by @AmelBawa-msft in #2683
- Add spectre configuration for PureLib by @ryfu-msft in #2704
- Fix renaming issue with invalid file character url by @yao-msft in #2708
- Remove and Add UndockedRegFreeWinRT library by @ryfu-msft in #2713
- Clean build from winget-cli by @msftrubengu in #2698
- Upgrade check-spelling to v0.0.21 by @jsoref in #2728
- Add
source ls
alias forsource list
by @florelis in #2736 - Standardize how arguments are used in resource strings by @florelis in #2737
- Support for PowerShell cmdlets in admin mode by @ryfu-msft in #2642
- Add PowerShell cmdlet help text and examples by @ryfu-msft in #2732
- Miscellaneous project cleanup by @yao-msft in #2738
- spelling: installation by @jsoref in #2739
- Update powershell module target framework to 4.8 by @ryfu-msft in #2741
- Allow upgrade for unknown version packages by @ryfu-msft in #2747
- Add ARM and ARM64 build configuration for powershell module by @ryfu-msft in #2744
- Bump Newtonsoft.Json from 13.0.1 to 13.0.2 in /src/AppInstallerCLIE2ETests by @dependabot in #2754
- Bump Newtonsoft.Json from 13.0.1 to 13.0.2 in /src/WinGetUtilInterop.UnitTests by @dependabot in #2753
- Infra changes for Microsoft.WinGet.Client and AppInstallerCLIE2ETests by @msftrubengu in #2746
- Remove nuget config file by @ryfu-msft in #2756
- Add empty
pin
command by @florelis in #2733 - Update DesktopAppInstaller.adml by @AmelBawa-msft in #2759
- Fix issue that only 1 dependency package is installed by @yao-msft in #2761
- Export command for winget settings. by @msftrubengu in #2719
- Suppress warnings for CA1416 in PowerShell module by @ryfu-msft in #2762
- Restore nuget.config file for public dependencies by @ryfu-msft in #2763
- Separate Archive Scan argument related to security from
--force
by @Trenly in #2622 - Fix winget after a call to winget settings export by @msftrubengu in #2767
- Add additional admin setting to match security related group policies by @yao-msft in #2772
- Prepare PowerShell Module for Release Build by @ryfu-msft in #2768
- More localization friendly source strings and context commenting by @AmelBawa-msft in #2454
- Make zip feature stable by @ryfu-msft in #2774
- Add scope support to more commands and add provisioning support for msix and msstore types by @yao-msft in #2766
- Split tests in
Workflow.cpp
into multiple files by @florelis in #2773 - Update localized strings by @ryfu-msft in #2783
- Suppress CA1416 warning #2 by @ryfu-msft in #2784
New Contributors
- @msftbot made their first contribution in #2285
- @jontab made their first contribution in #2333
- @iamCristYe made their first contribution in #2403
- @JamieMagee made their first contribution in #2487
- @bsivanov made their first contribution in #2488
- @gerardog made their first contribution in #2499
- @SpecterShell made their first contribution in #2536
- @infinitepower18 made their first contribution in #2584
- @AdmiralSnyder made their first contribution in #2616
- @dependabot made their first contribution in #2754
Full Changelog: v.1.3.1611...v1.4.10173