Description of the new feature/enhancement
Several packages manage upgrades themselves. One example is Visual Studio Code.
Proposed technical implementation details (optional)
Add a key to the manifest to identify packages with this capability.
Placeholder value: "PackageAutoUpgrades" (optional boolean key)
When the user executes winget upgrade this package would either not be displayed (as having an upgrade available), or it would be displayed in a manner that indicates this behavior.
When the user executes winget upgrade --all this package would not be upgraded.
To be in line with --include-unknown we should add --include-automatic.
We may also want to consider --force to apply all --include-<*> options.
Note: Schema changes have a large surface area: (Client, Validation Pipelines, Publishing Pipelines, REST API, Manifest Creator). This key may be added to the schema ahead of implementing the behavior in the client.
Description of the new feature/enhancement
Several packages manage upgrades themselves. One example is Visual Studio Code.
Proposed technical implementation details (optional)
Add a key to the manifest to identify packages with this capability.
When the user executes
winget upgradethis package would either not be displayed (as having an upgrade available), or it would be displayed in a manner that indicates this behavior.When the user executes
winget upgrade --allthis package would not be upgraded.To be in line with
--include-unknownwe should add--include-automatic.We may also want to consider
--forceto apply all--include-<*>options.