Skip to main content
Version: 2.3-dev

Model Version History

Overview

MaestroHub automatically tracks every change made to your models, creating a complete audit trail that lets you review, compare, and revert to any previous version. Every time a model is created, updated, or reverted, a new version is recorded with a full snapshot of the model at that point in time.

Why Version History Matters

Version history gives your team confidence to iterate quickly. If an update introduces unexpected issues, you can instantly roll back to a known-good version — no manual reconstruction needed.

Navigation Path: Compose > Models > ⋮ (Actions) > Version History


Opening Version History

To access version history for a model:

  1. Navigate to Compose > Models
  2. Find the model in the list
  3. Click the (actions menu) on the model row
  4. Select Version History

This opens the Version History dialog — a dedicated panel for browsing, inspecting, and comparing all recorded versions of the model.

Model Version History dialog

Model Version History dialog showing the timeline on the left and version details on the right


Dialog Layout

The Version History dialog is organized into two main areas:

Left Panel — Version Timeline

A vertical timeline listing all versions of the model in reverse chronological order (newest first). Each entry in the timeline displays:

ElementDescription
Version NumberSequential badge (v1, v2, v3, etc.)
Current BadgeIndicates the active version of the model
Change TypeColor-coded badge showing what happened — Created, Updated, Deleted, or Reverted
UserThe user who made the change
TimestampDate and time the change was made
Relative TimeHuman-readable time offset (e.g., "2 days ago")
Change SummaryQuick-glance chips showing what changed (e.g., +2 field(s), ~1 field(s), -1 field(s))
CheckboxSelect up to two versions for side-by-side comparison

Search: Use the search box at the top of the timeline to filter versions by model name or description.

Pagination: Versions are loaded 25 at a time. Use the Previous / Next controls at the bottom of the timeline to navigate through older versions.

Right Panel — Version Detail or Comparison

This panel shows either:

  • Single version details when one version is selected
  • Side-by-side diff when two versions are selected for comparison

Viewing a Version

Click any version in the timeline to view its full details. The right panel displays:

Version Metadata

  • Version number and change type badge
  • Timestamp of when the change was made
  • User who made the change

Model Information

  • Name and Description of the model at that version
  • Status badge

Fields

A table listing all fields that existed in the model at this version:

ColumnDescription
NameThe field's identifier
TypeData type with an icon indicator (String, Int, Float, Boolean, DateTime, JSON, or a model reference)
KindWhether the field is a Primitive type or a Model reference
SensitivitySecurity level (1–5)
RequiredWhether the field is mandatory

Inline Change Highlights

When viewing a version other than v1, fields are visually highlighted to show what changed compared to the previous version:

HighlightMeaning
Green left borderField was added in this version
Red left border with strikethroughField was removed in this version
Orange left borderField was modified in this version

Labels

Any labels (key-value pairs) attached to the model at this version are displayed below the fields section.


Comparing Two Versions

To compare any two versions side by side:

  1. Check the checkbox on the first version in the timeline
  2. Check the checkbox on the second version
  3. Click the Compare button that appears

The comparison view shows:

Summary Bar

A quick-glance bar at the top showing counts of:

  • Added fields (green)
  • Removed fields (red)
  • Modified fields (orange)

Basic Information Changes

If the model's name or description changed between the two versions, the old and new values are displayed side by side.

Fields Comparison

A detailed breakdown of every field difference:

Change TypeDisplay
Added fieldsShown with a green background and + Added badge
Removed fieldsShown with a red background and - Removed badge
Modified fieldsShown with an orange background, displaying old → new values for each changed property (type, kind, sensitivity, required)
Unchanged fieldsListed normally for context

Label Changes

Any label additions, removals, or modifications are shown in a dedicated section.


Reverting to a Previous Version

If you need to restore a model to a previous state:

  1. Select the version you want to revert to in the timeline
  2. Click the Revert button in the version detail panel
info

The Revert button is disabled for the current version since the model is already at that state.

  1. A confirmation dialog appears with the message:

    "This will create a new version of the model with the same configuration as version X. The current version will be preserved in the history."

  2. Click Confirm to proceed or Cancel to abort

How Revert Works

Reverting is a non-destructive operation:

  • A new version is created with the configuration from the selected historical version
  • The new version is marked with a Reverted change type (purple badge)
  • All previous versions remain intact — no history is lost
  • The model immediately reflects the restored configuration
tip

Because revert creates a new version rather than overwriting history, you can always "undo a revert" by reverting again to the version before the revert. Your full audit trail is always preserved.


Change Types

Every version is tagged with a change type that explains how it was created:

Change TypeBadge ColorDescription
CreatedGreenThe model was initially created (always version 1)
UpdatedBlueThe model was modified (fields, metadata, or labels changed)
RevertedPurpleThe model was reverted to a previous version's configuration
DeletedRedThe model was soft-deleted

What Triggers a New Version

A new version is automatically recorded whenever:

  • A model is created (version 1)
  • Any model property is updated — name, description, fields, labels, or status
  • A model is reverted to a previous version
  • A model is deleted

Each version stores a complete snapshot of the model, not just the changes. This means any version can be viewed or restored independently without needing to reconstruct from a chain of changes.


Best Practices

  • Review before reverting — Use the comparison view to understand exactly what will change before performing a revert
  • Use labels for context — Add descriptive labels to your models (e.g., release:v2.1) so that version history entries are easier to identify
  • Check field dependencies — Before reverting, consider whether pipelines or other models reference fields that may not exist in the target version
  • Coordinate with your team — Since version history tracks who made each change, use it as a collaboration tool to understand the evolution of shared models