Template Versioning
Track changes with immutable versions, compare differences, and revert safely.
Every change to a template's variable definitions is captured as an immutable version. Versions provide a full audit trail and let you compare states, revert to previous configurations, and control when assets are upgraded to newer definitions.
How versions work
Each version is a snapshot of the template at a point in time, including:
- Template metadata (name, alias, category, description)
- All variable definitions (keys, names, data types, units, kinds)
- A version number (auto-incremented starting from 1)
- An optional changelog describing what changed
- A creation timestamp
Versions are never modified or deleted. The history is append-only.
Creating a version
Manual creation
Go to the Versions tab on the template detail page and click New Version. You can optionally enter a changelog message describing what changed.
Automatic creation
Versions are created automatically when you:
- Add variables from a variable library — if the new set of variables differs from the latest version, a new version is created
- Remove variables from the template — a new version is created with the remaining variables
When auto-versioning occurs, a notification confirms the new version number.
Viewing versions
The Versions tab lists all versions in reverse chronological order. Each entry shows:
- Version number (e.g., "Version 3")
- "Latest" badge on the most recent version
- Changelog text (if provided)
- Creation date
Comparing versions
Click Compare on the Versions tab to see the differences between any two versions. Select a "from" and "to" version in the dropdowns.
The comparison shows:
Metadata changes:
- Name, category, or description differences highlighted with old and new values
Variable definition changes:
- Variables added (shown in green with a count)
- Variables removed (shown in red with a count)
- Variables modified (shown in yellow with a count) — includes changes to data type, unit code, kind, or other properties
Reverting to a previous version
To revert, click the Revert button on any version that is not the latest. A confirmation dialog explains what will happen.
Reverting creates a new version with the same state as the target version. It does not modify or delete any existing versions. You can always revert again to undo a revert.
The revert process:
- Copies the metadata and variable definitions from the target version
- Creates a new version with an incremented version number
- Updates the template's current state to match
For example, if you are on version 5 and revert to version 3, a new version 6 is created with the same state as version 3. Versions 1 through 5 remain unchanged in the history.
Versions and assets
Assets created from a template are linked to a specific version. When a new version is created, existing assets remain on their current version until you explicitly migrate them. The asset detail page shows a notification when a newer version is available.