microsoft / winget-pkgs

The Microsoft community Windows Package Manager manifest repository
MIT License
8.58k stars 4.47k forks source link

[New Feature]: Support PackageManifest version 1.6.0 in package validation #121127

Closed williamoconnorme closed 9 months ago

williamoconnorme commented 1 year ago

Description of the new feature/enhancement

WinGetSvc-Validation (Pull Request Validation) should support package manifest version 1.6.0

Currently the latest version supported is 1.5.0

This prevent packages from being submitted with the 1.6.0 schema

One or more errors occurred. (Manifest: The manifest version is not supported. Supported versions: 1.0.0,1.1.0,1.2.0,1.4.0,1.5.0.) Manifest: The manifest version is not supported. Supported versions: 1.0.0,1.1.0,1.2.0,1.4.0,1.5.0.

https://github.com/microsoft/winget-pkgs/pull/120285/checks?check_run_id=17235916269

Proposed technical implementation details (optional)

No response

BrandonWanHuanSheng commented 1 year ago

@denelon

mdanish-kh commented 1 year ago

Can I ask what capability you're trying to use that's only available in the 1.6 schema? I believe the only new fields in 1.6 schema currently are UpgradeBehavior: deny, and DownloadCommandProhibited: <boolean>

williamoconnorme commented 1 year ago

With the release of CLI 1.6, I'm looking to use the Dependencies field which I seen was a feature of CLI 1.6

I can see now that it's available in schema 1.5.0 so I may not require this for my use case any more as I previously thought this feature was a part of the schema version matching CLI version

I can see that it looks like this is available in 1.5.0 schema now.

stephengillie commented 1 year ago

Hi @williamoconnorme,

I believe there might not be a 1.6.0 manifest version, as there's no 1.2.0 manifest version.

Here is a 1.5.0 Schema dependency example using our most common dependency:

Dependencies:
  PackageDependencies:
  - PackageIdentifier: Microsoft.VCRedist.2015+.x64

Does this help?

R-Adrian commented 11 months ago

Can I ask what capability you're trying to use that's only available in the 1.6 schema? I believe the only new fields in 1.6 schema currently are UpgradeBehavior: deny, and DownloadCommandProhibited: <boolean>

UpgradeBehavior: deny is needed for many of the apps that handle their own upgrades internally and that react badly / weirdly to being installed again instead of letting them handle the upgrades:

denelon commented 9 months ago

1.6 validation is in production.