Skip to content

Bump manifest schema version to 1.28.0 - #711

Merged
AmirMS (AmelBawa-msft) merged 3 commits into
microsoft:mainfrom
mdanish-kh:schema-1.28
Oct 26, 2026
Merged

AmirMS (AmelBawa-msft) merged 3 commits into
microsoft:mainfrom
mdanish-kh:schema-1.28

Conversation

@mdanish-kh

@mdanish-kh Muhammad Danish (mdanish-kh) commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

📖 Description

Note

PR is AI-assisted. All code was manually verified by me and tests ran before submitting the PR

Bumps the manifest schema version to 1.28.0.

  • Since the new schema introduces a manifest field Resources which collides with existing references, I added a global alias in affected files

'Resources' is an ambiguous reference between 'Microsoft.WingetCreateCLI.Properties.Resources' and 'Microsoft.WingetCreateCore.Models.Installer.Resources'

using Resources = Microsoft.WingetCreateCLI.Properties.Resources;
  • Updated UpdateCommand and some existing tests
  • Added localized strings for newly added manifest fields

🔗 References

🔍 Validation

Ran the build and the E2E tests which all pass

image

✅ Checklist

📋 Issue Type

  • Bug fix
  • Feature
  • Task

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Compatibility between the upgraded schemas, generated models, and native validator still needs human confirmation beyond the reported build and E2E results.

1 open issue
What changed in this PR

Updates WingetCreate to manifest schema 1.28.0, adding support for desired state configuration (DSC) metadata in manifest models and update processing.

Changes:

  • Updates schema references, generated models, and the Windows Package Manager utility dependency.
  • Adds DSC mappings, equality helpers, resource descriptions, and aliases resolving Resources naming conflicts.
  • Adds JSON/YAML fixtures and extends update tests for the new fields.
File Description
src/​WingetCreateTests/​WingetCreateTests/​WingetCreateTests.csproj Copies new fixtures to test output.
src/​WingetCreateTests/​WingetCreateTests/​UnitTests/​UpdateCommandTests.cs Adds schema 1.28 update and field-movement checks.
src/​WingetCreateTests/​WingetCreateTests/​UnitTests/​LocalizationTests.cs Disambiguates the localization resource type.
src/​WingetCreateTests/​WingetCreateTests/​Resources/​TestPublisher.MoveInstallerFieldsToRoot.yaml Adds shared authentication and DSC metadata.
src/​WingetCreateTests/​WingetCreateTests/​Resources/​TestPublisher.FullYamlSingleton1_28.yaml Adds a YAML schema 1.28 fixture.
src/​WingetCreateTests/​WingetCreateTests/​Resources/​TestPublisher.FullJsonSingleton1_28.json Adds a JSON schema 1.28 fixture.
src/​WingetCreateTests/​WingetCreateTests/​Resources/​TestPublisher.DontMoveInstallerFieldsToRoot.yaml Adds differing authentication and DSC metadata.
src/​WingetCreateCore/​WingetCreateCore.csproj Uses schema 1.28 for model generation.
src/​WingetCreateCore/​Models/​VersionManifestModels.cs Updates the version manifest schema default.
src/​WingetCreateCore/​Models/​SingletonManifestModels.cs Adds DSC models and updates the schema default.
src/​WingetCreateCore/​Models/​Partials/​InstallerPartials.cs Adds authentication and DSC equality helpers.
src/​WingetCreateCore/​Models/​LocaleManifestModels.cs Updates the locale manifest schema default.
src/​WingetCreateCore/​Models/​InstallerManifestModels.cs Adds DSC models and updates the schema default.
src/​WingetCreateCore/​Models/​DefaultLocaleManifestModels.cs Updates the default-locale schema default.
src/​WingetCreateCLI/​WingetCreateCLI.csproj Bumps the CLI version to 1.28.
src/​WingetCreateCLI/​Properties/​Resources.resx Adds descriptions for DSC fields.
src/​WingetCreateCLI/​PromptHelper.cs Disambiguates localization resources.
src/​WingetCreateCLI/​Commands/​UpdateCommand.cs Adds nested model mappings and a resource alias.
src/​WingetCreateCLI/​Commands/​SubmitCommand.cs Disambiguates localization resources.
src/​WingetCreateCLI/​Commands/​ShowCommand.cs Disambiguates localization resources.
src/​WingetCreateCLI/​Commands/​NewCommand.cs Disambiguates localization resources.
src/​WingetCreateCLI/​Commands/​BaseCommand.cs Disambiguates localization resources.
Directory.Packages.props Updates Windows Package Manager utilities to 1.29.380.

Review effort: Balanced

@AmelBawa-msft

Copy link
Copy Markdown
Contributor

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

@AmelBawa-msft
AmirMS (AmelBawa-msft) merged commit fb3522c into microsoft:main Oct 26, 2026
5 of 7 checks passed
@mdanish-kh
Muhammad Danish (mdanish-kh) deleted the schema-1.28 branch October 27, 2026 01:08
Bevan Stanely (stan-ely) added a commit to stan-ely/qrdrop that referenced this pull request Nov 3, 2026
…ce 1.4.0's submit refused 1.28.0

The winget job at app-v1.4.0 failed before it could open a PR: wingetcreate validates
the manifests before it submits them, and all three were refused with "The schema header
URL does not match the expected pattern". A winget-pkgs moderator asked for 1.28.0 on
the 1.1.0 PR and the generator has written it since, but that PR was submitted by hand.
wingetcreate 1.12.13, the newest release, knows nothing past 1.12.0. Its 1.28.0 support
is on main (microsoft/winget-create#711, 2026-10-26) and in no release, and submit has no
flag to skip the check.

So the version is one constant again, 1.12.0, with a comment saying when to move it. Every
field the manifests carry has existed since schema 1.1, so nothing is lost. Run with
1.4.0's values, the generator writes exactly the three files that pass `winget validate`
(winget 1.29) here.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants