microsoft / microsoft/winget-cli

Make InstallationNotes flow-dependent

Open
#3,483 10 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

In-PR 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

Allow different messages to be shown on Install, Upgrade, and Uninstall.

Proposed technical implementation details

To keep manifests clean, I would prefer the field be changed to an object rather than adding new manifests fields, although I suppose either would work. With the 2020-12 schema, it might also be possible to allow for backwards compatibility to prevent this from being a breaking change.

InstallationNotes:
  PreInstall: This message is shown before a package is installed
  PostInstall: This message is shown after a package is installed
  PreUpgrade: This message is shown before a package is upgraded
  PostUpgrade: This message is shown after a package is upgraded
  PreUninstall: This message is shown before a package is uninstalled
  PostUninstall: This message is shown after a package is uninstalled

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 reviewing the manifest schema and the Install, Upgrade, and Uninstall flows in the winget-cli codebase. Determine how InstallationNotes is currently represented and consumed, then define how the six lifecycle messages and backward compatibility should behave before implementing and testing the change.

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
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.