WorkSpec uses independent versions for the language, package, schema, and applications.
Version types
| Version | Identifies | Example |
|---|---|---|
| language version | The syntax and semantics of a WorkSpec document. | 2.2 |
| schema URI version | The JSON Schema associated with a language version. | v2.2.schema.json |
| npm package version | A release of the workspec package and CLI. |
1.2.x |
| Studio version | A release of WorkSpec Studio, when versioned separately. | Product-specific |
Do not infer the language version from the package version. Read simulation.schema_version from the document.
Canonical declaration
Every complete 2.2 example declares simulation.schema_version. The $schema field is optional, but a supplied URI must match that version.
{
"$schema": "https://universalautomation.wiki/workspec/v2.2.schema.json",
"simulation": {
"schema_version": "2.2"
}
}The full document also requires meta, world, and process.
Compatibility contract
The document validator accepts language versions 2.0, 2.1, and 2.2. Acceptance does not promise complete runtime, CLI, or Studio support.
Use WorkSpec 2.2 for new projects. Keep historical fields out of canonical 2.2 examples.
The checked-in migration converts previous UAW or WorkSpec 1 shapes to WorkSpec 2.1. It does not migrate arbitrary input directly to 2.2.
See the historical version matrix and migration behavior.