View schema JSON
The formal JSON schema defining the accepted value forms for the MSP-1 revisionVersion term.
AI-friendly semantics for trusted information.
MSP-1 schema
Provides the version identifier associated with a specific revision event in an MSP-1 resource.
Machine-readable structure for declaring a revision-associated version label using either a lean string form or a structured object form.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://msp-1.org/schema/revisionVersion/revisionVersion.json",
"title": "MSP-1 Revision Version Schema",
"description": "Schema for providing the version identifier associated with a specific revision event in an MSP-1 resource.",
"$comment": "MSP-1 v1.0.2 allows both the lean string form and the structured object form for revisionVersion. String form is preferred inside ordinary revision objects. For object form, major, minor, and patch are required. The string field corresponds to the lean flat-string form when revisionVersion is emitted as a plain string. revisionVersion is distinct from protocol.version and does not itself establish correctness, trust, freshness, verification, or ranking priority.",
"anyOf": [
{
"type": "string",
"minLength": 1,
"description": "A version identifier associated with a revision, typically a semantic version string such as 1.0.2, but may also be a stable implementation-defined label where semantic versioning is not appropriate."
},
{
"type": "object",
"properties": {
"major": {
"type": "integer",
"minimum": 0,
"description": "Major version number representing incompatible, substantial, or release-significant changes."
},
"minor": {
"type": "integer",
"minimum": 0,
"description": "Minor version number representing backward-compatible additions or meaningful non-breaking changes."
},
"patch": {
"type": "integer",
"minimum": 0,
"description": "Patch version number representing backward-compatible fixes, refinements, or clarifications."
},
"label": {
"type": "string",
"description": "Optional pre-release, channel, or lifecycle label such as alpha, beta, rc1, draft, or stable."
},
"build": {
"type": "string",
"description": "Optional build metadata such as a commit hash, timestamp, or internal build number."
},
"string": {
"type": "string",
"description": "Full version represented as a single version string."
},
"isCompatibleWith": {
"type": "array",
"description": "Optional list of versions or version ranges that this revisionVersion declares compatibility with.",
"items": {
"type": "string"
}
},
"effectiveDate": {
"type": "string",
"format": "date",
"description": "Date when this version becomes effective if different from the revisionDate."
},
"notes": {
"type": "string",
"description": "Optional notes describing the reasoning, implications, or compatibility context of the version update."
},
"channel": {
"type": "string",
"description": "Compatibility alias for older examples that used channel. Prefer label in new MSP-1 v1.0.1 output."
}
},
"required": [
"major",
"minor",
"patch"
],
"additionalProperties": false
}
]
}
The formal JSON schema defining the accepted value forms for the MSP-1 revisionVersion term.
See the corresponding namespace term for conceptual usage, examples, and related MSP-1 terms.
MSP-1 v1.0.2 allows revisionVersion as either a string or a structured object. The string form is preferred when revisionVersion appears as a simple field inside a revision object.
For structured semantic-version metadata, major, minor, and patch are required. revisionVersion labels the version associated with a revision event and should not be confused with protocol.version.