microsoft / microsoft/winget-cli

Switch to upgrade only minor version

Open
#1,914 7 comments 16 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

As a user, I would like to be able to specify to only upgrade packages where a minor version is available.

Proposed technical implementation details

winget upgrade --minor should list packages available for upgrade, where a minor version upgrade is available
winget upgrade --all --minor should install packages where a minor version upgrade is available

Other considerations -
It may be possible for there to be both a newer major version and a newer minor version available in the source. In this case, we should upgrade to the latest applicable minor version.

Example:

Installed Version:   1.0.1
Versions in Source:
  1.0.0
  1.0.1
  1.0.2
  1.0.3
  2.0.1

winget upgrade --all => Upgrades package to v2.0.1
winget upgrade --all --minor  => Upgrades package to v1.0.3
winget upgrade --minor => Shows available upgrade as v1.0.3

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 at the winget upgrade command entry point and trace how --all selects available versions. Define behavior for --minor, including packages with both newer minor and major versions, and verify that listing and installation follow the examples in this issue.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.