Skip to content

Conversation

SteveL-MSFT
Copy link
Member

@SteveL-MSFT SteveL-MSFT commented Aug 24, 2025

PR Summary

Allows specifying semver requirements via the apiVersion property. Uses the https://docs.rs/semver/latest/semver/struct.VersionReq.html syntax, some examples:

  • 1.1
  • 1.1.*
  • *
  • >1.1.2
  • <=1.3.2
  • >1.1.2, <2.0.0
  • ~1.1
  • ^1.1
  • =1.1

This PR also allows for arbitrary strings for the version to support date format. However, if using this there is a warning that the version isn't semver and the requested version (via apiVersion) must be an exact match to the resource declared version.

The version isn't passed to the resource, but resources can have multiple manifests if it implements multiple versions and decide for itself how to inform the resource the version being requested.

Note that if the version requirement is semver and doesn't start with a number, then an = operator is prefixed indicating exact version. Also, adapted resource versioning is NOT part of this PR and will come separately since this PR is already big enough.

dsc resource list will now show multiple versions of a resource and dsc resource has a new --version parameter.

PR Context

Fix #543
Fix #942

@SteveL-MSFT SteveL-MSFT force-pushed the resource-versioning branch 2 times, most recently from 0bf51dc to 95ecd7a Compare August 24, 2025 14:38
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.

ARM consistent API version behavior Support version pinning in a configuration document
1 participant