GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Releases · microsoft/winget-cli

Releases · microsoft/winget-cli

Windows Package Manager 1.29.380

Windows Package Manager 1.29.380 Latest
Latest
@JohnMcPMS JohnMcPMS released this 21 Sep 18:45
v1.29.380
000f6b5
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

This is a servicing release of Windows Package Manager v1.29. If you find any bugs or problems, please help us out by filing an issue.

New in v1.29

New Feature: Source Priority

Note

Experimental under sourcePriority; defaulted to disabled.

With this feature, one can assign a numerical priority to sources when added or later through the source edit
command. Sources with higher priority are sorted first in the list of sources, which results in them getting put first
in the results if other things are equal.

Tip

Search result ordering in winget is currently based on these values in this order:

  1. Match quality (how well a valid field matches the search request)
  2. Match field (which field was matched against the search request)
  3. Source order (was always relevant, but with priority you can more easily affect this)

Beyond the ability to slightly affect the result ordering, commands that primarily target available packages
(largely install) will now prefer to use a single result from a source with higher priority rather than prompting for
disambiguation from the user. Said another way, if multiple sources return results but only one of those sources has
the highest priority value (and it returned only one result) then that package will be used rather than giving a
"multiple packages were found" error. This has been applied to both winget CLI and PowerShell module commands.

REST result match criteria update

Along with the source priority change, the results from REST sources (like msstore) now attempt to correctly set the
match criteria that factor into the result ordering. This will prevent them from being sorted to the top automatically.

Minor Features

Preserve installer arguments across export and import

winget export now captures the --override and --custom arguments that were used when a package was originally installed and saves them into the export file. When subsequently running winget import, those values are automatically re-applied during installation — --override replaces all installer arguments and --custom appends extra switches — so packages can be reinstalled with the same customizations without any manual intervention. Both fields are optional and independent of each other; packages without stored installer arguments are unaffected.

--no-progress flag

Added a new --no-progress command-line flag that disables all progress reporting (progress bars and spinners). This flag is universally available on all commands and takes precedence over the visual.progressBar setting. Useful for automation scenarios or when running WinGet in environments where progress output is undesirable.

MCP upgrade support

The WinGet MCP server's existing tools have been extended with new parameters to support upgrade scenarios:

  • find-winget-packages now accepts an upgradeable parameter (default: false). When set to true, it lists only installed packages that have available upgrades — equivalent to winget upgrade. The query parameter becomes optional in this mode, allowing it to filter results or be omitted to list all upgradeable packages. AI agents can use this to answer requests like "What apps can I update with WinGet?"
  • install-winget-package now accepts an upgradeOnly parameter (default: false). When set to true, it only upgrades an already-installed package and returns a clear error if the package is not installed (pointing to install-winget-package without upgradeOnly instead). AI agents can use this to answer requests like "Update WinGetCreate" or, in combination with find-winget-packages with upgradeable=true, "Update all my apps."

Authenticated GitHub API requests in PowerShell module

The PowerShell module now automatically uses GH_TOKEN or GITHUB_TOKEN environment variables to authenticate GitHub API requests. This significantly increases the GitHub API rate limit, preventing failures in CI/CD pipelines. Use -Verbose to see which token is being used.

Default priority of installer types

Installer type selection no longer depends on the order defined on the manifest. Instead, preference is given in this order:

  • MSIX
  • MSI / Wix / Burn
  • Nullsoft / Inno / EXE
  • Portable

When a user configures installer type requirements or preferences, the order in which they are listed is now respected during installer selection.

Improved list output when redirected

  • winget list (and similar table commands) no longer truncates output when stdout is redirected to a file or variable — column widths are now computed from the full result set.
  • Spinner and progress bar output are suppressed when no console is attached, keeping redirected output clean.

Log file naming strategy

Added a user setting (logging.fileNameStrategy) for controlling the default naming strategy for installer log files. Supported values are manifest (default), timestamp, guid, and shortguid. Only applies to logs generated by installers if the installer itself supports the logging switch / parameter.

Setting Description
manifest Uses the name of the manifest and a timestamp. Has the same behavior as WinGet 1.28
timestamp The log name is just a timestamp
guid The log name is a GUID
shortguid The log name is the first 8 characters of a GUID

Sortable list output

winget list now supports sorting results via --sort <field> (repeatable for multi-field sorting), --ascending/--descending direction flags, and a persistent output.sortOrder setting. Available sort fields: name, id, version, source, available, relevance. By default, results are sorted alphabetically by name when no query is present; use --sort relevance to preserve the previous source-determined ordering.

Bug Fixes

  • winget export now works when the destination path is a hidden file
  • Fixed the useLatest property in the DSC v3 Microsoft.WinGet/Package resource schema to emit a boolean default (false) instead of the incorrect string "false".
  • SignFile in WinGetSourceCreator now supports an optional RFC 3161 timestamp server via the new TimestampServer property on the Signature model. When set, signtool.exe is called with /tr <url> /td sha256, embedding a countersignature timestamp so that signed packages remain valid after the signing certificate expires.
  • File and directory paths passed to signtool.exe and makeappx.exe are now quoted, fixing failures when paths contain spaces.
  • DSC export now correctly exports WinGet Admin Settings
  • winget validate now performs case-insensitive comparison for file extensions where applicable
  • winget source reset now properly resets default sources instead of removing them
  • DSC v3 Microsoft.WinGet/Package resource now honors the installMode property to use silent or interactive installer switches as specified
  • Fixed a crash (0x8000ffff) when using --disable-interactivity with the Resume experimental feature enabled during install operations.

What's Changed

  • Ensure relative paths are rooted (1.29) by JohnMcPMS in #6467

Full Changelog: v1.29.290...v1.29.380

Contributors

  • @JohnMcPMS
JohnMcPMS
Assets 9
Loading

Uh oh!

There was an error while loading. Please reload this page.

war59312, AndyMutz2, RomelSan, docxml, gtumanyan, aviles2001, mnaufalq1, ViNN280801, tute123456, NitroHP, and 14 more reacted with thumbs up emoji IgorTheLight and rushilShetty reacted with laugh emoji 0xfeeddeadbeef, stevenya97, davidldennison, NitroHP, G0rocks, IgorTheLight, and EDM115 reacted with hooray emoji vhick, NitroHP, aukaheng, Plong173, IgorTheLight, elzohrry2007, and AK-1504 reacted with heart emoji IgorTheLight, canadysdsdsds, and AK-1504 reacted with rocket emoji IgorTheLight and goshva reacted with eyes emoji
All reactions
  • 👍 24 reactions
  • 😄 2 reactions
  • 🎉 7 reactions
  • ❤️ 7 reactions
  • 🚀 3 reactions
  • 👀 2 reactions
35 people reacted
0 Join discussion

Windows Package Manager 1.30.140-preview

Windows Package Manager 1.30.140-preview Pre-release
Pre-release
@hackean-msft hackean-msft released this 11 Sep 04:28
v1.30.140-preview
28ca400
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

This is a servicing release of Windows Package Manager v1.30. If you find any bugs or problems, please help us out by filing an issue.

New in v1.30

--ignore-unavailable flag for install

Added a new --ignore-unavailable flag to the install command. When installing multiple packages, this flag allows the operation to continue with the remaining packages instead of failing entirely when one or more packages are not found in the configured sources. This brings the same behavior previously available with import --ignore-unavailable to direct multi-package installs.

Bug Fixes

  • Fixed an issue where winget search --id <msstoreId> could fail to return a Microsoft Store package unless --exact was also provided.
  • Updated NUnit to v4
  • Fixed a crash (0x8000ffff) when using --disable-interactivity with the Resume experimental feature enabled during install operations.
  • Fixed relative path handling for rooted paths.

What's Changed

  • Fallback to exact if REST source has no result for ID substring by Kaleb Luedtke (@Trenly) in #6309
  • Add issue closure recommendation workflow by Demitrius Nelon (@denelon) in #6423
  • Bump undici from 7.28.0 to 7.29.0 in /tools/WinGetLogViewer by Dependabot (@dependabot)[bot] in #6430
  • Bump fast-uri from 3.1.4 to 3.1.5 in /tools/WinGetLogViewer by Dependabot (@dependabot)[bot] in #6431
  • Add Copilot-Instructions label policy rule by Demitrius Nelon (@denelon) in #6440
  • Add agent guidance for issues and PRs by Demitrius Nelon (@denelon) in #6446
  • Improved the OS support requirements in the README. by Imre Eilertsen (@DandelionSprout) in #6447
  • Ensure relative paths are rooted by Flor Chacón (@florelis) in #6357

Full Changelog: v1.30.100-preview...v1.30.140-preview

Contributors

  • @Trenly
  • @florelis
  • @DandelionSprout
  • @dependabot
  • @denelon
Trenly, florelis, and 3 other contributors
Assets 9
Loading

Uh oh!

There was an error while loading. Please reload this page.

voyager2saturn, 0xfeeddeadbeef, Dragon1573, vhick, Mertsch, blankgus, 1134097444-blip, RemixPL1994, and davidldennison reacted with hooray emoji aukaheng and swiftness427 reacted with heart emoji
All reactions
  • 🎉 9 reactions
  • ❤️ 2 reactions
11 people reacted
0 Join discussion

Windows Package Manager 1.30.100-preview

Windows Package Manager 1.30.100-preview Pre-release
Pre-release
@hackean-msft hackean-msft released this 13 Aug 22:59
v1.30.100-preview
4638f90
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

This is a preview build of WinGet for those interested in trying out upcoming features and fixes. While it has had some use and should be free of major issues, it may have bugs or usability problems. If you find any, please help us out by filing an issue.

New in v1.30

--ignore-unavailable flag for install

Added a new --ignore-unavailable flag to the install command. When installing multiple packages, this flag allows the operation to continue with the remaining packages instead of failing entirely when one or more packages are not found in the configured sources. This brings the same behavior previously available with import --ignore-unavailable to direct multi-package installs.

Bug Fixes

  • Updated NUnit to v4
  • Fixed a crash (0x8000ffff) when using --disable-interactivity with the Resume experimental feature enabled during install operations.

What's Changed

  • Use PowerShell 5 to create vcpkg port overlay by Tom Plant (@pl4nty) in #6272
  • Update to use build agents with VS 2026 by Flor Chacón (@florelis) in #6383
  • Replace genai dedup action with agentic duplicate-surfacing workflow by Demitrius Nelon (@denelon) in #6400
  • Disable no-op run reporting for Duplicate Surfacing workflow by Demitrius Nelon (@denelon) in #6408
  • Improve duplicate-surfacing search recall (in:title + high-recall queries) by Demitrius Nelon (@denelon) in #6410
  • Make template string H6 by Kaleb Luedtke (@Trenly) in #6413
  • feat: add --ignore-unavailable option to install command by CatBraaain in #6351
  • Clean up Duplicate Surfacing comment noise (#6412) by Demitrius Nelon (@denelon) in #6414

New Contributors

  • CatBraaain made their first contribution in #6351

Full Changelog: v1.30.90-preview...v1.30.100-preview

Contributors

  • @Trenly
  • @florelis
  • @pl4nty
  • @denelon
  • @CatBraaain
Trenly, florelis, and 3 other contributors
Assets 9
Loading

Uh oh!

There was an error while loading. Please reload this page.

kkwong7878, jeangatto, HunterLoveCode, Neovolter, superstar882, Sh1zaa4, and markakhmetschin444-afk reacted with thumbs up emoji jeangatto and brentspine reacted with laugh emoji jeangatto reacted with hooray emoji vhick, JonathanPitre, Dragon1573, Mertsch, Neovolter, jeangatto, Shadouwu, aukaheng, sarahashjari-arch, and markakhmetschin444-afk reacted with heart emoji jeangatto reacted with rocket emoji
All reactions
  • 👍 7 reactions
  • 😄 2 reactions
  • 🎉 1 reaction
  • ❤️ 10 reactions
  • 🚀 1 reaction
15 people reacted
0 Join discussion

Windows Package Manager 1.29.290

Windows Package Manager 1.29.290
@hackean-msft hackean-msft released this 24 Aug 18:14
v1.29.290
4e87530
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

This is a servicing release of Windows Package Manager v1.29. If you find any bugs or problems, please help us out by filing an issue.

New in v1.29

New Feature: Source Priority

Note

Experimental under sourcePriority; defaulted to disabled.

With this feature, one can assign a numerical priority to sources when added or later through the source edit
command. Sources with higher priority are sorted first in the list of sources, which results in them getting put first
in the results if other things are equal.

Tip

Search result ordering in winget is currently based on these values in this order:

  1. Match quality (how well a valid field matches the search request)
  2. Match field (which field was matched against the search request)
  3. Source order (was always relevant, but with priority you can more easily affect this)

Beyond the ability to slightly affect the result ordering, commands that primarily target available packages
(largely install) will now prefer to use a single result from a source with higher priority rather than prompting for
disambiguation from the user. Said another way, if multiple sources return results but only one of those sources has
the highest priority value (and it returned only one result) then that package will be used rather than giving a
"multiple packages were found" error. This has been applied to both winget CLI and PowerShell module commands.

REST result match criteria update

Along with the source priority change, the results from REST sources (like msstore) now attempt to correctly set the
match criteria that factor into the result ordering. This will prevent them from being sorted to the top automatically.

Minor Features

Preserve installer arguments across export and import

winget export now captures the --override and --custom arguments that were used when a package was originally installed and saves them into the export file. When subsequently running winget import, those values are automatically re-applied during installation — --override replaces all installer arguments and --custom appends extra switches — so packages can be reinstalled with the same customizations without any manual intervention. Both fields are optional and independent of each other; packages without stored installer arguments are unaffected.

--no-progress flag

Added a new --no-progress command-line flag that disables all progress reporting (progress bars and spinners). This flag is universally available on all commands and takes precedence over the visual.progressBar setting. Useful for automation scenarios or when running WinGet in environments where progress output is undesirable.

MCP upgrade support

The WinGet MCP server's existing tools have been extended with new parameters to support upgrade scenarios:

  • find-winget-packages now accepts an upgradeable parameter (default: false). When set to true, it lists only installed packages that have available upgrades — equivalent to winget upgrade. The query parameter becomes optional in this mode, allowing it to filter results or be omitted to list all upgradeable packages. AI agents can use this to answer requests like "What apps can I update with WinGet?"
  • install-winget-package now accepts an upgradeOnly parameter (default: false). When set to true, it only upgrades an already-installed package and returns a clear error if the package is not installed (pointing to install-winget-package without upgradeOnly instead). AI agents can use this to answer requests like "Update WinGetCreate" or, in combination with find-winget-packages with upgradeable=true, "Update all my apps."

Authenticated GitHub API requests in PowerShell module

The PowerShell module now automatically uses GH_TOKEN or GITHUB_TOKEN environment variables to authenticate GitHub API requests. This significantly increases the GitHub API rate limit, preventing failures in CI/CD pipelines. Use -Verbose to see which token is being used.

Default priority of installer types

Installer type selection no longer depends on the order defined on the manifest. Instead, preference is given in this order:

  • MSIX
  • MSI / Wix / Burn
  • Nullsoft / Inno / EXE
  • Portable

When a user configures installer type requirements or preferences, the order in which they are listed is now respected during installer selection.

Improved list output when redirected

  • winget list (and similar table commands) no longer truncates output when stdout is redirected to a file or variable — column widths are now computed from the full result set.
  • Spinner and progress bar output are suppressed when no console is attached, keeping redirected output clean.

Log file naming strategy

Added a user setting (logging.fileNameStrategy) for controlling the default naming strategy for installer log files. Supported values are manifest (default), timestamp, guid, and shortguid. Only applies to logs generated by installers if the installer itself supports the logging switch / parameter.

Setting Description
manifest Uses the name of the manifest and a timestamp. Has the same behavior as WinGet 1.28
timestamp The log name is just a timestamp
guid The log name is a GUID
shortguid The log name is the first 8 characters of a GUID

Sortable list output

winget list now supports sorting results via --sort <field> (repeatable for multi-field sorting), --ascending/--descending direction flags, and a persistent output.sortOrder setting. Available sort fields: name, id, version, source, available, relevance. By default, results are sorted alphabetically by name when no query is present; use --sort relevance to preserve the previous source-determined ordering.

Bug Fixes

  • winget export now works when the destination path is a hidden file
  • Fixed the useLatest property in the DSC v3 Microsoft.WinGet/Package resource schema to emit a boolean default (false) instead of the incorrect string "false".
  • SignFile in WinGetSourceCreator now supports an optional RFC 3161 timestamp server via the new TimestampServer property on the Signature model. When set, signtool.exe is called with /tr <url> /td sha256, embedding a countersignature timestamp so that signed packages remain valid after the signing certificate expires.
  • File and directory paths passed to signtool.exe and makeappx.exe are now quoted, fixing failures when paths contain spaces.
  • DSC export now correctly exports WinGet Admin Settings
  • winget validate now performs case-insensitive comparison for file extensions where applicable
  • winget source reset now properly resets default sources instead of removing them
  • DSC v3 Microsoft.WinGet/Package resource now honors the installMode property to use silent or interactive installer switches as specified
  • Fixed a crash (0x8000ffff) when using --disable-interactivity with the Resume experimental feature enabled during install operations.

What's Changed

  • Block admin uninstall of user package (1.29) by JohnMcPMS in #6344
  • Port scope targeted token check to 1.29 by JohnMcPMS in #6386

Full Changelog: v1.29.280...v1.29.290

Contributors

  • @JohnMcPMS
JohnMcPMS
Assets 9
Loading

Uh oh!

There was an error while loading. Please reload this page.

docxml, agilibaus, AndyMutz2, Puiching-Memory, Mertsch, war59312, Bernardinooo, UweStolz, DrCMD1, NitroHP, and 2 more reacted with thumbs up emoji Illidan-Shtormraydj, CopyGirls1234, and Prajapati-ankit-it reacted with laugh emoji 0xfeeddeadbeef, EDM115, and CopyGirls1234 reacted with hooray emoji lucasbarbosagit, vhick, Bernardinooo, NitroHP, and CopyGirls1234 reacted with heart emoji NitroHP, razumistXXI, and CopyGirls1234 reacted with rocket emoji razumistXXI, wahyusa, Illidan-Shtormraydj, and CopyGirls1234 reacted with eyes emoji
All reactions
  • 👍 12 reactions
  • 😄 3 reactions
  • 🎉 3 reactions
  • ❤️ 5 reactions
  • 🚀 3 reactions
  • 👀 4 reactions
20 people reacted
1 Join discussion

Windows Package Manager 1.30.90-preview

Windows Package Manager 1.30.90-preview Pre-release
Pre-release
@hackean-msft hackean-msft released this 06 Aug 16:55
v1.30.90-preview
12dad5c
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

This is a preview build of WinGet for those interested in trying out upcoming features and fixes. While it has had some use and should be free of major issues, it may have bugs or usability problems. If you find any, please help us out by filing an issue.

New in v1.30

Nothing yet.

Bug Fixes

  • Updated NUnit to v4
  • Fixed a crash (0x8000ffff) when using --disable-interactivity with the Resume experimental feature enabled during install operations.

What's Changed

  • Bubble up child process errors in IndexCreationTool by Tom Plant (@pl4nty) in #6261
  • Bump brace-expansion and @vscode/vsce in /tools/WinGetLogViewer by Dependabot (@dependabot)[bot] in #6380
  • Bump manifest version to 1.30 by Kaleb Luedtke (@Trenly) in #6379
  • Bump linkify-it from 5.0.1 to 5.0.2 in /tools/WinGetLogViewer by Dependabot (@dependabot)[bot] in #6384
  • Bump fast-uri from 3.1.2 to 3.1.4 in /tools/WinGetLogViewer by Dependabot (@dependabot)[bot] in #6385
  • Block admin uninstall of user package by JohnMcPMS in #6345

Full Changelog: v1.30.80-preview...v1.30.90-preview

Contributors

  • @JohnMcPMS
  • @Trenly
  • @pl4nty
  • @dependabot
JohnMcPMS, Trenly, and 2 other contributors
Assets 9
Loading

Uh oh!

There was an error while loading. Please reload this page.

jeangatto, lucasbarbosagit, Aros-1221, and Neovolter reacted with thumbs up emoji jeangatto reacted with laugh emoji Dragon1573, jeangatto, and 0xfeeddeadbeef reacted with hooray emoji jeangatto and vhick reacted with heart emoji jeangatto reacted with rocket emoji
All reactions
  • 👍 4 reactions
  • 😄 1 reaction
  • 🎉 3 reactions
  • ❤️ 2 reactions
  • 🚀 1 reaction
7 people reacted
0 Join discussion

Windows Package Manager 1.30.80-preview

Windows Package Manager 1.30.80-preview Pre-release
Pre-release
@hackean-msft hackean-msft released this 29 Jul 00:21
v1.30.80-preview
b042bf9
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

This is a preview build of WinGet for those interested in trying out upcoming features and fixes. While it has had some use and should be free of major issues, it may have bugs or usability problems. If you find any, please help us out by filing an issue.

New in v1.30

Nothing yet.

Bug Fixes

  • Updated NUnit to v4
  • Fixed a crash (0x8000ffff) when using --disable-interactivity with the Resume experimental feature enabled during install operations.

What's Changed

  • Bump js-yaml from 4.1.1 to 4.3.0 in /tools/WinGetLogViewer by Dependabot (@dependabot)[bot] in #6359
  • Fix portable tests impacted by ADO image by JohnMcPMS in #6354
  • /await:strict and fixes for it by JohnMcPMS in #6240
  • Fix NuGet packages path by Flor Chacón (@florelis) in #6365
  • Update in-codebase documentation for E2E tests by Kaleb Luedtke (@Trenly) in #6355
  • Update NUnit to v4 by Kaleb Luedtke (@Trenly) in #6287
  • Use NUnit key constraints in DSCv3 settings tests by Kaleb Luedtke (@Trenly) in #6371
  • Optional Telemetry Event for Microsoft Store Catalog Installs (msstore Source) by Shmueli Englard (@shmuelie) in #6352

New Contributors

  • Shmueli Englard (@shmuelie) made their first contribution in #6352

Full Changelog: v1.30.50-preview...v1.30.80-preview

Contributors

  • @shmuelie
  • @JohnMcPMS
  • @Trenly
  • @florelis
  • @dependabot
shmuelie, JohnMcPMS, and 3 other contributors
Assets 9
Loading

Uh oh!

There was an error while loading. Please reload this page.

vhick, Dragon1573, and slab1 reacted with heart emoji
All reactions
  • ❤️ 3 reactions
3 people reacted
8 Join discussion

Windows Package Manager 1.30.70-preview

Windows Package Manager 1.30.70-preview Pre-release
Pre-release
@hackean-msft hackean-msft released this 22 Jul 22:34
v1.30.70-preview
6b3bc96
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

This is a preview build of WinGet for those interested in trying out upcoming features and fixes. While it has had some use and should be free of major issues, it may have bugs or usability problems. If you find any, please help us out by filing an issue.

New in v1.30

Nothing yet.

Bug Fixes

  • Fixed a crash (0x8000ffff) when using --disable-interactivity with the Resume experimental feature enabled during install operations.

What's Changed

  • Apply latest loc patch by Flor Chacón (@florelis) in #6262
  • Remove old Store certs, replace test use with generated ones by JohnMcPMS in #6275
  • Add .gitattributes and normalize line endings across repo by Tianon (SSO) (@tianon-sso) in #6267
  • Renormalize by JohnMcPMS in #6276
  • Change event type by JohnMcPMS in #6273
  • Update minor version, archive release notes by JohnMcPMS in #6279
  • Align .gitattributes and .editorconfig by Kaleb Luedtke (@Trenly) in #6285
  • Doc manifest schema process by JohnMcPMS in #6280
  • Fix crash with --disable-interactivity and EFResume by Kaleb Luedtke (@Trenly) in #6302
  • Fix configuration elevation validation for standard flow by JohnMcPMS in #6307
  • Bump markdown-it from 14.1.1 to 14.2.0 in /tools/WinGetLogViewer by Dependabot (@dependabot)[bot] in #6296
  • Bump undici from 7.25.0 to 7.28.0 in /tools/WinGetLogViewer by Dependabot (@dependabot)[bot] in #6305
  • Bump form-data from 4.0.5 to 4.0.6 in /tools/WinGetLogViewer by Dependabot (@dependabot)[bot] in #6311
  • Clean vcpkg artifacts on solution clean by Kaleb Luedtke (@Trenly) in #6339
  • Fix punctuation in error messages by Jan T. Sott (@idleberg) in #6314
  • Fix cpprest checked iterator build error by Kaleb Luedtke (@Trenly) in #6301
  • Undo normalization of external files by Flor Chacón (@florelis) in #6336

New Contributors

  • Tianon (SSO) (@tianon-sso) made their first contribution in #6267
  • Jan T. Sott (@idleberg) made their first contribution in #6314

Full Changelog: v1.29.240...v1.30.70-preview

Contributors

  • @idleberg
  • @JohnMcPMS
  • @Trenly
  • @florelis
  • @dependabot
  • @tianon-sso
idleberg, JohnMcPMS, and 4 other contributors
Assets 9
Loading

Uh oh!

There was an error while loading. Please reload this page.

Erpe7 reacted with thumbs up emoji vhick, Dragon1573, and noyard reacted with heart emoji
All reactions
  • 👍 1 reaction
  • ❤️ 3 reactions
4 people reacted

Windows Package Manager 1.30.50-preview

Windows Package Manager 1.30.50-preview Pre-release
Pre-release
@hackean-msft hackean-msft released this 17 Jul 23:19
v1.30.50-preview
6b3bc96
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

This is a preview build of WinGet for those interested in trying out upcoming features and fixes. While it has had some use and should be free of major issues, it may have bugs or usability problems. If you find any, please help us out by filing an issue.

New in v1.30

Nothing yet.

Bug Fixes

  • Fixed a crash (0x8000ffff) when using --disable-interactivity with the Resume experimental feature enabled during install operations.

What's Changed

  • Apply latest loc patch by Flor Chacón (@florelis) in #6262
  • Remove old Store certs, replace test use with generated ones by JohnMcPMS in #6275
  • Add .gitattributes and normalize line endings across repo by Tianon (SSO) (@tianon-sso) in #6267
  • Renormalize by JohnMcPMS in #6276
  • Change event type by JohnMcPMS in #6273
  • Update minor version, archive release notes by JohnMcPMS in #6279
  • Align .gitattributes and .editorconfig by Kaleb Luedtke (@Trenly) in #6285
  • Doc manifest schema process by JohnMcPMS in #6280
  • Fix crash with --disable-interactivity and EFResume by Kaleb Luedtke (@Trenly) in #6302
  • Fix configuration elevation validation for standard flow by JohnMcPMS in #6307
  • Bump markdown-it from 14.1.1 to 14.2.0 in /tools/WinGetLogViewer by Dependabot (@dependabot)[bot] in #6296
  • Bump undici from 7.25.0 to 7.28.0 in /tools/WinGetLogViewer by Dependabot (@dependabot)[bot] in #6305
  • Bump form-data from 4.0.5 to 4.0.6 in /tools/WinGetLogViewer by Dependabot (@dependabot)[bot] in #6311
  • Clean vcpkg artifacts on solution clean by Kaleb Luedtke (@Trenly) in #6339
  • Fix punctuation in error messages by Jan T. Sott (@idleberg) in #6314
  • Fix cpprest checked iterator build error by Kaleb Luedtke (@Trenly) in #6301
  • Undo normalization of external files by Flor Chacón (@florelis) in #6336

New Contributors

  • Tianon (SSO) (@tianon-sso) made their first contribution in #6267
  • Jan T. Sott (@idleberg) made their first contribution in #6314

Full Changelog: v1.29.240...v1.30.50-preview

Contributors

  • @idleberg
  • @JohnMcPMS
  • @Trenly
  • @florelis
  • @dependabot
  • @tianon-sso
idleberg, JohnMcPMS, and 4 other contributors
Assets 9
Loading

Uh oh!

There was an error while loading. Please reload this page.

war59312 reacted with thumbs up emoji vhick, Dragon1573, mdanish-kh, caih2030-cpu, aukaheng, and goonmaster2008 reacted with heart emoji
All reactions
  • 👍 1 reaction
  • ❤️ 6 reactions
7 people reacted
0 Join discussion

Windows Package Manager 1.29.280

Windows Package Manager 1.29.280
@hackean-msft hackean-msft released this 24 Jun 18:59
v1.29.280
fe424a1
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

This is the latest of Windows Package Manager v1.29. If you find any bugs or problems, please help us out by filing an issue.

New in v1.29

New Feature: Source Priority

Note

Experimental under sourcePriority; defaulted to disabled.

With this feature, one can assign a numerical priority to sources when added or later through the source edit
command. Sources with higher priority are sorted first in the list of sources, which results in them getting put first
in the results if other things are equal.

Tip

Search result ordering in winget is currently based on these values in this order:

  1. Match quality (how well a valid field matches the search request)
  2. Match field (which field was matched against the search request)
  3. Source order (was always relevant, but with priority you can more easily affect this)

Beyond the ability to slightly affect the result ordering, commands that primarily target available packages
(largely install) will now prefer to use a single result from a source with higher priority rather than prompting for
disambiguation from the user. Said another way, if multiple sources return results but only one of those sources has
the highest priority value (and it returned only one result) then that package will be used rather than giving a
"multiple packages were found" error. This has been applied to both winget CLI and PowerShell module commands.

REST result match criteria update

Along with the source priority change, the results from REST sources (like msstore) now attempt to correctly set the
match criteria that factor into the result ordering. This will prevent them from being sorted to the top automatically.

Minor Features

Preserve installer arguments across export and import

winget export now captures the --override and --custom arguments that were used when a package was originally installed and saves them into the export file. When subsequently running winget import, those values are automatically re-applied during installation — --override replaces all installer arguments and --custom appends extra switches — so packages can be reinstalled with the same customizations without any manual intervention. Both fields are optional and independent of each other; packages without stored installer arguments are unaffected.

--no-progress flag

Added a new --no-progress command-line flag that disables all progress reporting (progress bars and spinners). This flag is universally available on all commands and takes precedence over the visual.progressBar setting. Useful for automation scenarios or when running WinGet in environments where progress output is undesirable.

MCP upgrade support

The WinGet MCP server's existing tools have been extended with new parameters to support upgrade scenarios:

  • find-winget-packages now accepts an upgradeable parameter (default: false). When set to true, it lists only installed packages that have available upgrades — equivalent to winget upgrade. The query parameter becomes optional in this mode, allowing it to filter results or be omitted to list all upgradeable packages. AI agents can use this to answer requests like "What apps can I update with WinGet?"
  • install-winget-package now accepts an upgradeOnly parameter (default: false). When set to true, it only upgrades an already-installed package and returns a clear error if the package is not installed (pointing to install-winget-package without upgradeOnly instead). AI agents can use this to answer requests like "Update WinGetCreate" or, in combination with find-winget-packages with upgradeable=true, "Update all my apps."

Authenticated GitHub API requests in PowerShell module

The PowerShell module now automatically uses GH_TOKEN or GITHUB_TOKEN environment variables to authenticate GitHub API requests. This significantly increases the GitHub API rate limit, preventing failures in CI/CD pipelines. Use -Verbose to see which token is being used.

Default priority of installer types

Installer type selection no longer depends on the order defined on the manifest. Instead, preference is given in this order:

  • MSIX
  • MSI / Wix / Burn
  • Nullsoft / Inno / EXE
  • Portable

When a user configures installer type requirements or preferences, the order in which they are listed is now respected during installer selection.

Improved list output when redirected

  • winget list (and similar table commands) no longer truncates output when stdout is redirected to a file or variable — column widths are now computed from the full result set.
  • Spinner and progress bar output are suppressed when no console is attached, keeping redirected output clean.

Log file naming strategy

Added a user setting (logging.fileNameStrategy) for controlling the default naming strategy for installer log files. Supported values are manifest (default), timestamp, guid, and shortguid. Only applies to logs generated by installers if the installer itself supports the logging switch / parameter.

Setting Description
manifest Uses the name of the manifest and a timestamp. Has the same behavior as WinGet 1.28
timestamp The log name is just a timestamp
guid The log name is a GUID
shortguid The log name is the first 8 characters of a GUID

Sortable list output

winget list now supports sorting results via --sort <field> (repeatable for multi-field sorting), --ascending/--descending direction flags, and a persistent output.sortOrder setting. Available sort fields: name, id, version, source, available, relevance. By default, results are sorted alphabetically by name when no query is present; use --sort relevance to preserve the previous source-determined ordering.

Bug Fixes

  • winget export now works when the destination path is a hidden file
  • Fixed the useLatest property in the DSC v3 Microsoft.WinGet/Package resource schema to emit a boolean default (false) instead of the incorrect string "false".
  • SignFile in WinGetSourceCreator now supports an optional RFC 3161 timestamp server via the new TimestampServer property on the Signature model. When set, signtool.exe is called with /tr <url> /td sha256, embedding a countersignature timestamp so that signed packages remain valid after the signing certificate expires.
  • File and directory paths passed to signtool.exe and makeappx.exe are now quoted, fixing failures when paths contain spaces.
  • DSC export now correctly exports WinGet Admin Settings
  • winget validate now performs case-insensitive comparison for file extensions where applicable
  • winget source reset now properly resets default sources instead of removing them
  • DSC v3 Microsoft.WinGet/Package resource now honors the installMode property to use silent or interactive installer switches as specified
  • Fixed a crash (0x8000ffff) when using --disable-interactivity with the Resume experimental feature enabled during install operations.

What's Changed

  • [1.29] Fix crash with --disable-interactivity and EFResume by Kaleb Luedtke (@Trenly) in #6303
  • Fix configuration elevation validation for standard flow (1.29) by JohnMcPMS in #6318

Full Changelog: v1.29.250...v1.29.280

Contributors

  • @JohnMcPMS
  • @Trenly
JohnMcPMS and Trenly
Assets 9
Loading

Uh oh!

There was an error while loading. Please reload this page.

Dragon1573, gtumanyan, mohammadvaghiee, 0xfeeddeadbeef, AndyMutz2, war59312, LaKanDoR, igrblkv, LemonStudio-hub, Vedmachok1720, and 2 more reacted with thumbs up emoji vhick reacted with heart emoji razumistXXI and RameshXT reacted with rocket emoji razumistXXI reacted with eyes emoji
All reactions
  • 👍 12 reactions
  • ❤️ 1 reaction
  • 🚀 2 reactions
  • 👀 1 reaction
15 people reacted
0 Join discussion

Windows Package Manager 1.29.250

Windows Package Manager 1.29.250 Pre-release
Pre-release
@florelis florelis released this 05 Jun 00:30
v1.29.250
2f4f2cf
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

This is a release candidate of Windows Package Manager v1.29. If you find any bugs or problems, please help us out by filing an issue.

New in v1.29

New Feature: Source Priority

Note

Experimental under sourcePriority; defaulted to disabled.

With this feature, one can assign a numerical priority to sources when added or later through the source edit
command. Sources with higher priority are sorted first in the list of sources, which results in them getting put first
in the results if other things are equal.

Tip

Search result ordering in winget is currently based on these values in this order:

  1. Match quality (how well a valid field matches the search request)
  2. Match field (which field was matched against the search request)
  3. Source order (was always relevant, but with priority you can more easily affect this)

Beyond the ability to slightly affect the result ordering, commands that primarily target available packages
(largely install) will now prefer to use a single result from a source with higher priority rather than prompting for
disambiguation from the user. Said another way, if multiple sources return results but only one of those sources has
the highest priority value (and it returned only one result) then that package will be used rather than giving a
"multiple packages were found" error. This has been applied to both winget CLI and PowerShell module commands.

REST result match criteria update

Along with the source priority change, the results from REST sources (like msstore) now attempt to correctly set the
match criteria that factor into the result ordering. This will prevent them from being sorted to the top automatically.

Minor Features

Preserve installer arguments across export and import

winget export now captures the --override and --custom arguments that were used when a package was originally installed and saves them into the export file. When subsequently running winget import, those values are automatically re-applied during installation — --override replaces all installer arguments and --custom appends extra switches — so packages can be reinstalled with the same customizations without any manual intervention. Both fields are optional and independent of each other; packages without stored installer arguments are unaffected.

--no-progress flag

Added a new --no-progress command-line flag that disables all progress reporting (progress bars and spinners). This flag is universally available on all commands and takes precedence over the visual.progressBar setting. Useful for automation scenarios or when running WinGet in environments where progress output is undesirable.

MCP upgrade support

The WinGet MCP server's existing tools have been extended with new parameters to support upgrade scenarios:

  • find-winget-packages now accepts an upgradeable parameter (default: false). When set to true, it lists only installed packages that have available upgrades — equivalent to winget upgrade. The query parameter becomes optional in this mode, allowing it to filter results or be omitted to list all upgradeable packages. AI agents can use this to answer requests like "What apps can I update with WinGet?"
  • install-winget-package now accepts an upgradeOnly parameter (default: false). When set to true, it only upgrades an already-installed package and returns a clear error if the package is not installed (pointing to install-winget-package without upgradeOnly instead). AI agents can use this to answer requests like "Update WinGetCreate" or, in combination with find-winget-packages with upgradeable=true, "Update all my apps."

Authenticated GitHub API requests in PowerShell module

The PowerShell module now automatically uses GH_TOKEN or GITHUB_TOKEN environment variables to authenticate GitHub API requests. This significantly increases the GitHub API rate limit, preventing failures in CI/CD pipelines. Use -Verbose to see which token is being used.

Default priority of installer types

Installer type selection no longer depends on the order defined on the manifest. Instead, preference is given in this order:

  • MSIX
  • MSI / Wix / Burn
  • Nullsoft / Inno / EXE
  • Portable

When a user configures installer type requirements or preferences, the order in which they are listed is now respected during installer selection.

Improved list output when redirected

  • winget list (and similar table commands) no longer truncates output when stdout is redirected to a file or variable — column widths are now computed from the full result set.
  • Spinner and progress bar output are suppressed when no console is attached, keeping redirected output clean.

Log file naming strategy

Added a user setting (logging.fileNameStrategy) for controlling the default naming strategy for installer log files. Supported values are manifest (default), timestamp, guid, and shortguid. Only applies to logs generated by installers if the installer itself supports the logging switch / parameter.

Setting Description
manifest Uses the name of the manifest and a timestamp. Has the same behavior as WinGet 1.28
timestamp The log name is just a timestamp
guid The log name is a GUID
shortguid The log name is the first 8 characters of a GUID

Sortable list output

winget list now supports sorting results via --sort <field> (repeatable for multi-field sorting), --ascending/--descending direction flags, and a persistent output.sortOrder setting. Available sort fields: name, id, version, source, available, relevance. By default, results are sorted alphabetically by name when no query is present; use --sort relevance to preserve the previous source-determined ordering.

Bug Fixes

  • winget export now works when the destination path is a hidden file
  • Fixed the useLatest property in the DSC v3 Microsoft.WinGet/Package resource schema to emit a boolean default (false) instead of the incorrect string "false".
  • SignFile in WinGetSourceCreator now supports an optional RFC 3161 timestamp server via the new TimestampServer property on the Signature model. When set, signtool.exe is called with /tr <url> /td sha256, embedding a countersignature timestamp so that signed packages remain valid after the signing certificate expires.
  • File and directory paths passed to signtool.exe and makeappx.exe are now quoted, fixing failures when paths contain spaces.
  • DSC export now correctly exports WinGet Admin Settings
  • winget validate now performs case-insensitive comparison for file extensions where applicable
  • winget source reset now properly resets default sources instead of removing them
  • DSC v3 Microsoft.WinGet/Package resource now honors the installMode property to use silent or interactive installer switches as specified

What's Changed

  • Make list details stable by JohnMcPMS in #6020
  • Move to IReference rather than custom enum for optional bool by JohnMcPMS in #6022
  • Apply latest loc patch by Flor Chacón (@florelis) in #6023
  • Bump version to 1.29 by Flor Chacón (@florelis) in #6019
  • Remove 'listDetails' from release notes for 1.29 by Flor Chacón (@florelis) in #6026
  • Update doc as WinGet is not in preview by Gijs Reijn (@Gijsreyn) in #5850
  • Replaced "(C)" with "©" in the main menu. by Imre Eilertsen (@DandelionSprout) in #5845
  • Source priority by JohnMcPMS in #6029
  • Update json vcpkg by JohnMcPMS in #6039
  • Coalesce comments from loc suggestions by JohnMcPMS in #6033
  • Update Roadmap Milestones doc by Jan Klass (@Kissaki) in #5824
  • Add copilot instructions by JohnMcPMS in #6048
  • Add --no-progress option by JohnMcPMS in #6049
  • Remove Crescendo PowerShell by JohnMcPMS in #6056
  • Fix casing of WinGet by JohnMcPMS in #6059
  • Added more info for "Installer Types" values in Settings.md. by Imre Eilertsen (@DandelionSprout) in #6067
  • Diagnostics update and stable DSC for tests by JohnMcPMS in #6084
  • feat: authenticate GitHub API requests using GH_TOKEN/GITHUB_TOKEN by Melvin Wang (@wmmc88) in #6071
  • Tool to investigate SQLite compression by JohnMcPMS in #6074
  • Add dependencies only option by JohnMcPMS in #6069
  • docs: fix multiple documentation issues (#5296, #5921, #5108, #4372, #5867) by John Kennedy (@GrantMeStrength) in #6110
  • Revert help link in DscCommand by JohnMcPMS in #6111
  • Update Moq, curl, and c-ares by Kaleb Luedtke (@Trenly) in #6112
  • Add Timeserver Support for SourceCreator and support spaces in paths and file names by Kaleb Luedtke (@Trenly) in #6113
  • Report skipped upgrades when install technology differs (upgrade --all) by Ryan Johnson (@AMDphreak) in #6096
  • [AI Generated] Ensure correct DSC export of admin settings by Kaleb Luedtke (@Trenly) in #6109
  • U...
Read more

Contributors

  • @Kissaki
  • @AMDphreak
  • @GrantMeStrength
  • @JohnMcPMS
  • @Trenly
  • @florelis
  • @wmmc88
  • @dkbennett
  • @DandelionSprout
  • @Gijsreyn
  • @dependabot
  • @yao-msft
  • @Madhusudhan-MSFT
  • @denelon
  • @mamoreau-devolutions
Kissaki, AMDphreak, and 13 other contributors
Assets 9
Loading

Uh oh!

There was an error while loading. Please reload this page.

pankaj-nikam, grimson73, igrblkv, Leewalki, and gtumanyan reacted with thumbs up emoji grimson73 and Brickstudo reacted with laugh emoji grimson73 reacted with hooray emoji vhick, grimson73, and nicolaerario reacted with heart emoji 0xfeeddeadbeef, NitroHP, eksan127, SpecterShell, and grimson73 reacted with rocket emoji grimson73 reacted with eyes emoji
All reactions
  • 👍 5 reactions
  • 😄 2 reactions
  • 🎉 1 reaction
  • ❤️ 3 reactions
  • 🚀 5 reactions
  • 👀 1 reaction
12 people reacted
0 Join discussion
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.