This release is the second stable release of Windows Package Manager 1.4 for Windows 10 (1809+) and Windows 11.
This release contains a minor servicing fix related to refreshing store source certificates. The Microsoft.WinGet.Client PowerShell module has been published to the PowerShell Gallery and will no longer be included in releases.
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
- Add refreshed Store source certs by @yao-msft in #3149
- 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 to cgmanifest.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 for source 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
Source: https://github.com/microsoft/winget-...tag/v1.4.11071