-
Notifications
You must be signed in to change notification settings - Fork 6.5k
PSA: New Manifest Schema #8900
Description
New Manifest Schema
We're about to implement major breaking changes to the YAML manifest syntax.
The intent is to enable a more robust way of describing packages with multiple architectures, languages, and installers. We will also be releasing a new CLI (ETA: May 1st) to make it easier to generate and submit pull requests for manifests (it will be open-source). Some of the new keys are in anticipation of new capabilities that are still in development (like dependencies).
There is a singleton schema for a "single file" YAML manifest for packages with only one locale and one installer. We will be converting all of the current manifests to this new format.
For all other packages there is a "multiple file" YAML structure. There is a "version" file that acts essentially as a reference or pointer for the other files. The "default locale" file provides the descriptive meta-data, additional "locale" files provide descriptive meta-data for other locales. The "installer" file provides the meta-data for one or more installers.
In addition, we will be partitioning the manifest directory by the (lower case )first letter of the publisher name. This will help with GitHub limitations around how many files/folders are displayed in the web UI. For example /m/Microsoft/PowerToys/.
We will be taking a snapshot of the repository and working through the conversion process which will incur downtime. All of the validation and publishing pipelines will be halted for this upgrade. Our first attempt will be Monday, March 22nd March 29th. Any open pull requests along with any new pull requests during this conversion will not be validated.
The Windows Package Manager client will continue to function normally during this transition.
If you are aware of any third party tools or utilities like the sandbox, PowerShell scripts or the list below, please let them know about the changes coming.
- https://github.com/ptorr-msft/WinGetYamlGenerator/ by @ptorr-msft
- https://winstall.app/ by @MehediH
- https://github.com/goranalkovic/WinGetGui by @goranalkovic
- https://winget.run/ by @Dragon1320 and @MattheousDT
Note: I will make edits to update the list of projects and authors/contributors as I am informed.