microsoft / microsoft/winget-pkgs
[New Feature]: The type constraints in the manifest file are not strict.
Open
Nobody has claimed this yet.
Issue-Feature
- Dominant language
- No language data
- Stars
- 11.1k
- Forks
- 9.7k
- Avg merge
- 1h 32m
- Merged PRs (30d)
- 376
Description
Description of the new feature/enhancement
Some fields in the repository's manifest files do not actually comply with the constraints.
example
# yaml-language-server: $schema=https://aka.ms/winget-manifest.installer.1.0.0.schema.json
MinimumOSVersion: 6.1
{
"MinimumOSVersion": {
"type": [ "string", "null" ],
"pattern": "^(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])(\\.(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])){0,3}$",
"description": "The installer minimum operating system version"
},
}
Proposed technical implementation details (optional)
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by comparing the example manifest at manifests/l/Lenovo/ThinInstaller/1.3.0038/Lenovo.ThinInstaller.installer.yaml with the referenced installer schema. Trace how manifest constraints are validated and determine which fields need stricter enforcement. Done means invalid types such as the numeric MinimumOSVersion example are rejected consistently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- yaml
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100