microsoft / microsoft/winget-cli

Pin audit command

Open
#3,216 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Command-Pin 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

Packages can be added, removed, and updated (or downgraded!) outside of winget. As a user, I would like to be able to check if any of my pins have been violated.

If the package has a standard ("pinning") or blocking pin and the version has changed, I'd like to be informed what the version pinned in winget was, and what the currently installed version is.

If the package has a gating pin and the installed version violates the gate, I'd like to be informed what the gate in winget is, and what the currently installed version is.

If a pin exists and no installed package can be found, I'd like to be informed what the version pinned / gate in winget was, and the current installation status is "Not found"

> winget pin audit

Id    Type     Version Installed
---------------------------------
Pkg.1 Blocking 1.0.1    1.3.5
Pkg.2 Gating   2.1.*    2.5.3
Pkg.3 Pinning  0.5.1    0.5.5
Pkg.4 Pinning  1.9.3    Not Found
Proposed technical implementation details
  • Related to #3215

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 by reading related issue #3215 and tracing the winget pin audit command entry point. Define completion around reporting violated blocking, pinning, and gating pins with the pinned or gating version and installed version, including packages that are not found.

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
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.