microsoft / microsoft/winget-cli

Make 'upgrade' command work with partial names

Open
#2,597 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Command-Upgrade Issue-Feature
Dominant language
C++
Stars
26.4k
Forks
1.8k
Avg merge
1d 11h
Merged PRs (30d)
15

Description

Description of the new feature / enhancement

Due to bad vision I have to use large console fonts. Because of that winget table with list of available upgrades don't have packages full names or ids

Name                  Id                    Version       Available     Source
------------------------------------------------------------------------------
GPL Ghostscript       ArtifexSoftware.Ghos… 9.27          10.00.0       winget
Wireshark 3.6.3 64-b… WiresharkFoundation.… 3.6.3         4.0.0.0       winget
Microsoft Visual C++… Microsoft.VCRedist.2… 14.29.30139.0 14.34.31823.3 winget
Microsoft Visual Stu… Microsoft.VisualStud… 1.70.1        1.72.1        winget
Microsoft Visual C++… Microsoft.VCRedist.2… 14.29.30139.0 14.34.31823.3 winget
eM Client             eMClient.eMClient     9.0.1361.0    9.1.2109.0    winget

If I don't want to upgrade everything, it become really difficult to find name, or id, or moniker of packages for upgrade. Running "winget upgrade 'Microsoft Visual C'" or "winget upgrade --name 'Microsoft Visual C'" returned "No installed package found matching input criteria." It took me more than 5 minutes to find what 'Microsoft Visual C++…' is actually Microsoft Visual C++ 2015-2022 Redistributable (x64) and (x86) and only after that I was able to upgrade this packages.

Proposed technical implementation details

Make winget upgrade command accept part of name or id as input, like list command. Or make it accept wildcards. Or add option for display result not only as table, but as list as well.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the upgrade command and compare its input matching with the list command. Reproduce the reported cases using partial package names or IDs, then determine the intended matching behavior and how ambiguous results should be handled. Done means upgrade accepts the agreed partial input reliably, with coverage for the reported Microsoft Visual C++ case.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.