Skip to main content
Version: 2.3-dev

Pipeline Version History

Overview

MaestroHub automatically tracks every change made to your pipelines, creating a complete audit trail that lets you review, compare, and revert to any previous version. Every time a pipeline is created, updated, or reverted, a new version is recorded with a full snapshot — including all nodes, edges, configuration, and metadata.

Why Version History Matters

Pipelines evolve constantly as you add nodes, tweak configurations, and adjust logic. Version history gives your team the confidence to iterate freely — if a change breaks something, you can compare versions to pinpoint the difference and instantly roll back.

Navigation Path: Orchestrate > Pipelines > ⋮ (Actions) > Version History


Opening Version History

To access version history for a pipeline:

  1. Navigate to Orchestrate > Pipelines
  2. Find the pipeline in the list
  3. Click the (actions menu) on the pipeline row
  4. Select Version History

This opens the Version History dialog — a full-screen panel for browsing, visualizing, and comparing all recorded versions of the pipeline.

Pipeline Version History dialog

Pipeline Version History dialog showing the timeline, canvas visualization, and changes panel


Dialog Layout

The Version History dialog uses a resizable three-panel layout:

Left Panel — Version Timeline

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

ElementDescription
Version NumberSequential badge (v1, v2, v3, etc.) in monospace font
Current BadgeIndicates the active version of the pipeline
Change TypeColor-coded badge — Created, Updated, Deleted, or Reverted
UserThe user who made the change
TimestampDate and time in "MMM d, yyyy" format
Relative TimeHuman-readable offset (e.g., "3 days ago")
Change Summary ChipsQuick-glance chips showing what changed
CheckboxSelect up to two versions for side-by-side comparison

Change Summary Chips

Each timeline entry shows automatically computed chips that summarize the changes at a glance:

ChipColorMeaning
+N node(s)GreenNodes added
-N node(s)RedNodes removed
~N config(s)OrangeNode configurations modified
+N edge(s)GreenConnections added
-N edge(s)RedConnections removed
~nameOrangePipeline name changed
~modeOrangeExecution mode changed
enabled / disabledOrangePipeline toggled on/off

Search: Use the search box at the top to filter versions by pipeline name.

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

Right Upper Panel — Canvas Visualization

An interactive, read-only view of the pipeline canvas at the selected version. When comparing versions or viewing a version with changes, the canvas uses visual overlays to highlight differences directly on the workflow diagram.

Right Lower Panel — Changes Summary

A collapsible panel below the canvas that shows a detailed breakdown of all differences. This panel can be expanded or collapsed by dragging the resize handle.


Canvas Visualization

The canvas is the centerpiece of pipeline version history. It renders the full pipeline workflow and uses color-coded visual indicators to highlight what changed.

Pipeline version canvas with diff overlays

Canvas visualization highlighting added, removed, and modified nodes with color-coded rings and badges

Node Indicators

IndicatorVisualMeaning
AddedGreen solid ring with +NEW badgeNode was added in this version
RemovedRed dashed ring with -REMOVED badge, dimmedNode existed in the previous version but was removed
ModifiedOrange solid ring with ~CHANGED badgeNode's configuration, name, or type was changed
UnchangedDimmed (40% opacity)Node exists in both versions with no changes
info

Removed nodes appear as "ghost nodes" on the canvas — they are semi-transparent and offset from their original position to avoid overlapping with current nodes. This lets you see both the current state and what was removed.

Edge Indicators

IndicatorVisualMeaning
AddedGreen solid line, slightly thickerConnection was added
RemovedRed dashed line, dimmedConnection was removed
UnchangedDimmed (40% opacity)Connection exists in both versions

Canvas Controls

  • Zoom and pan to navigate large pipelines
  • Minimap for orientation in complex workflows
  • Click a node in the changes panel to automatically pan and focus the canvas on that node

Changes Panel

The changes panel provides a structured, detailed breakdown of every difference between the selected version and its predecessor.

Pipeline version changes panel

Changes panel showing metadata, node, and edge differences with inline diffs

Summary Bar

A horizontal bar at the top showing the total number of changes, broken down by type with colored badges.

Metadata Changes

If any pipeline-level properties changed, they are listed with inline word-level diffs showing old and new values:

PropertyDescription
NamePipeline name
DescriptionPipeline description
ModeExecution mode (Sequential or Parallel)
PriorityExecution priority (High, Normal, or Low)
EnabledWhether the pipeline is active
LabelsAdded, removed, or modified key-value labels

Node Changes

A collapsible section listing all node differences. Each entry shows:

  • Node name and type badge
  • Status badge (NEW, REMOVED, or CHANGED)
  • Expandable details revealing:
    • Name changes (old → new)
    • Type changes (old → new)
    • Configuration changes listed by path (e.g., parameters.url, settings.retryCount)

Click any node name to focus the canvas on that node.

Show/Hide unchanged: A toggle button lets you show or hide unchanged nodes to reduce noise when reviewing large pipelines.

Edge Changes

A collapsible section listing connection differences in the format:

sourceNode:port → targetNode:port

Each edge shows a status badge indicating whether it was added or removed.

info

Position-only changes (moving a node on the canvas without changing its configuration) are intentionally ignored — they are cosmetic and do not create noise in the changes panel.


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 selected button at the bottom of the timeline

The compare button shows helper text as you select:

  • 0 selected: "Select 2 versions to compare"
  • 1 selected: "Select 1 more version"
  • 2 selected: "Compare selected" (active)

Compare View

When comparing, the dialog automatically orders the versions (older → newer) and shows:

  • A header displaying the version range (e.g., v2 → v5)
  • The canvas renders the newer version with diff overlays showing all changes since the older version
  • The changes panel lists every difference between the two selected versions
  • A Back button to return to single-version detail view

This is especially useful for reviewing the cumulative effect of multiple changes — for example, comparing the version from last week to the current version.


Reverting to a Previous Version

If you need to restore a pipeline 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 header
info

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

  1. A confirmation dialog appears:

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

  2. Click Revert to proceed or Cancel to abort

On success, a toast notification confirms the action:

Pipeline "MyPipeline" reverted successfully (v12)

How Revert Works

Reverting is a non-destructive operation:

  • A new version is created containing the full 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 pipeline immediately reflects the restored configuration, including all nodes, edges, and settings
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 pipeline was initially created (always version 1)
UpdatedBlueThe pipeline was modified (nodes, edges, metadata, or labels changed)
RevertedPurpleThe pipeline was reverted to a previous version's configuration
DeletedRedThe pipeline was soft-deleted

What Gets Versioned

A new version is automatically recorded whenever any of the following change:

Pipeline Metadata

  • Name, description
  • Execution mode (Sequential / Parallel)
  • Priority (High / Normal / Low)
  • Enabled / Disabled status
  • Labels (key-value pairs)

Nodes

  • Adding or removing nodes
  • Changing a node's name or type
  • Modifying node configuration (parameters, settings)

Edges (Connections)

  • Adding or removing connections between nodes
  • Changing connection source or target ports

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


Best Practices

  • Review the canvas before reverting — The visual canvas overlay makes it easy to spot exactly what will change. Use it to verify you're reverting to the right version
  • Use compare for debugging — If a pipeline starts failing, compare the current version with the last known-good version to pinpoint exactly which node or configuration change caused the issue
  • Leverage change summary chips — The timeline chips give you a quick way to scan through history and find versions where significant structural changes occurred
  • Coordinate with execution history — Cross-reference version numbers in the Execution History table to correlate pipeline changes with execution outcomes
  • Ignore cosmetic changes — Node position changes are intentionally excluded from version diffs, so you can freely rearrange your canvas without cluttering the history