Skip to content

PSA: New Manifest Schema #8900

@denelon

Description

@denelon

New Manifest Schema

We're about to implement major breaking changes to the YAML manifest syntax.

Discussion
JSON schemas

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.

Note: I will make edits to update the list of projects and authors/contributors as I am informed.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions