Skip to main content

One post tagged with "backup"

View All Tags

Workflow Version History - Never Lose Your Work Again

· 9 min read
ApudFlow OS
Platform Updates

Building complex workflows can be risky - one wrong change and hours of work might be lost. Today we're introducing Workflow Version History, a comprehensive versioning system that automatically saves every change you make, lets you compare versions, and restore previous states with a single click.

📹 Watch the tutorial: Version History in Action

The Problem: Workflow Changes Without Safety Net

As workflows grow more complex, you face several challenges:

  • Accidental deletions - remove a worker or connection by mistake
  • Breaking changes - configuration changes that break your workflow
  • Experimentation risk - afraid to try new ideas because you might break what works
  • No undo beyond current session - once you close the editor, changes are permanent
  • Collaboration confusion - team members overwriting each other's work

Without version control, your only option was to manually duplicate workflows before making changes - tedious and error-prone.

The Solution: Automatic Version History

Our new versioning system works like Git for workflows - every time you save, we automatically create a version snapshot. You can review your entire workflow evolution, compare changes between versions, and restore any previous state instantly.

Key Features

1. Automatic Version Snapshots

  • Every workflow save creates a new version automatically
  • No manual action required - just work naturally
  • Versions include complete workflow state: workers, connections, parameters
  • Never worry about losing work again

2. Visual Timeline

  • See your complete workflow history at a glance
  • Each version shows: date/time, version number, and change summary
  • Quick preview of what changed in each version
  • Color-coded indicators for major vs minor changes

3. Smart Version Comparison

  • Select any two versions and see exactly what changed
  • Side-by-side diff view highlights:
    • 🟢 Added workers - new workers you introduced
    • 🔴 Removed workers - workers you deleted
    • 🟠 Modified workers - configuration changes
    • 🔵 Connection changes - how data flows changed
  • Detailed parameter-level comparison for modified workers
  • Summary statistics: how many workers added/removed/changed

4. One-Click Restore

  • Found a version that worked better? Restore it with one click
  • Restoring creates a new version (preserving your current state)
  • Safe rollback - nothing is permanently lost
  • Test changes knowing you can always go back

5. Version Tagging & Organization

  • Star/favorite important versions (stable releases, milestones)
  • Filter version history to show only tagged versions
  • Delete old experimental versions to keep history clean
  • Latest version is always protected (can't be deleted)

6. Quick Compare

  • "Compare with Previous" button for fast iteration review
  • See what changed since your last save
  • Perfect for incremental development workflow

How to Use Version History

Accessing Version History

  1. Open any workflow in the editor
  2. Click the "Version History" icon in the toolbar (clock/history icon)
  3. A sidebar panel opens showing all versions

Viewing Your Versions

The version list displays:

  • Version number (1, 2, 3...)
  • Date and time of creation
  • Preview of changes made
  • Star icon to mark favorites
  • Action buttons (restore, compare, delete)

Comparing Versions

Method 1: Compare Two Specific Versions

  1. Click "Compare Mode" button
  2. Select first version (checkbox appears)
  3. Select second version
  4. Click "Compare Selected"
  5. View detailed diff in popup

Method 2: Quick Compare with Previous

  1. Click the "Compare" button next to any version
  2. Instantly see changes from the previous version

The Diff Viewer

When comparing versions, you'll see:

Summary Section:

  • Total workers added/removed/modified
  • Connection changes count

Detailed Changes:

  • Added Workers (green cards)

    • Worker type and name
    • Complete configuration
  • Removed Workers (red cards)

    • What was deleted
    • Previous configuration
  • Modified Workers (orange cards)

    • Side-by-side parameter comparison
    • Old value → New value
    • Only changed parameters shown

Visual Format:

  • Color-coded for quick scanning
  • JSON formatting for complex parameters
  • Expandable sections for readability

Restoring a Version

  1. Find the version you want to restore
  2. Click the Restore button
  3. Confirm the action
  4. Workflow immediately reverts to that state
  5. A new version is created (current state is preserved)

Managing Versions

Star Important Versions:

  • Click the star icon next to critical versions
  • Use tags to mark: "stable", "production", "pre-release"
  • Filter to show only starred versions

Delete Unnecessary Versions:

  • Click delete (trash icon) on experimental versions
  • Keeps history clean and focused
  • Cannot delete the latest version (safety)

Create Manual Snapshots:

  • Click "Create Snapshot" to save current state
  • Useful before major changes
  • Tagged as "snapshot" for easy identification

Real-World Use Cases

Scenario 1: Safe Experimentation

"I want to try a new AI worker but don't want to break my working setup"

  1. Your current workflow is auto-saved as version 15
  2. Add the new AI worker and configure it
  3. Save → version 16 is created
  4. Test it - doesn't work as expected
  5. Open version history → Restore version 15
  6. Back to working state in 2 clicks

Scenario 2: Understanding What Broke

"My workflow worked yesterday, now it's broken - what changed?"

  1. Open version history
  2. Find yesterday's working version (version 42)
  3. Compare with current version (version 48)
  4. Diff shows: you changed API endpoint URL in HTTP Request worker
  5. Fix the URL or restore version 42

Scenario 3: Team Collaboration

"My teammate made changes but I need to see what they modified"

  1. Open version history
  2. See version 23 saved 2 hours ago
  3. Compare version 22 (your last save) with version 23
  4. Diff clearly shows: they added error handling and changed timeout values
  5. Understand changes before continuing work

Scenario 4: Iterative Development

"I'm building a complex workflow step by step"

  1. Start with basic structure → save (version 1)
  2. Add data fetching → save (version 2) → star as "data layer done"
  3. Add processing logic → save (version 3)
  4. Add output formatting → save (version 4) → star as "complete v1"
  5. Test and find issues → multiple saves (versions 5-8)
  6. Compare version 8 with version 4 to see all changes since "complete v1"
  7. Restore version 4, make changes differently

Scenario 5: Production Releases

"I need a clean history of production-ready versions"

  1. Develop and test → versions 1-15 (messy experimental history)
  2. Finalize working version → star version 16 as "production-ready"
  3. Deploy to production
  4. Continue development → versions 17-22
  5. Filter to show only starred versions → clean release history
  6. Delete unstarred experimental versions to clean up

Technical Details

What's Saved in Each Version

Every version captures:

  • Complete workflow configuration (name, description, settings)
  • All workers with their full configurations
  • All connections between workers
  • Worker positions and visual layout
  • Metadata: owner, creation time, version number

Version Limits & Cleanup

  • By default, we keep up to 50 versions per workflow
  • Oldest versions are automatically cleaned up
  • Starred/tagged versions are protected from auto-cleanup
  • You can manually delete specific versions anytime
  • Latest version is always protected

Performance

  • Version creation is instant (happens during normal save)
  • No impact on workflow execution speed
  • Version history loads only when you open the panel
  • Diff calculation happens on-demand (only when comparing)

Best Practices

1. Use Descriptive Tags

When starring versions, add meaningful tags:

  • "before-api-upgrade"
  • "working-prod-config"
  • "pre-optimization"
  • "client-approved"

2. Clean Up Regularly

Delete experimental versions once you've finalized changes:

  • Keep only meaningful milestones
  • Reduces clutter in version history
  • Makes it easier to find important versions

3. Compare Before Restoring

Always compare before restoring to see what will change:

  • Understand what you're losing
  • Verify you're restoring the right version
  • Avoid surprises

4. Create Manual Snapshots Before Major Changes

Before significant modifications:

  • Click "Create Snapshot"
  • This marks a clear checkpoint
  • Easy to identify in history later

5. Use Compare for Code Reviews

When working with teammates:

  • Compare versions to review their changes
  • Understand modifications before continuing
  • Use as documentation of what changed

FAQ

Q: Does every save create a new version?
A: Yes, every time you save a workflow (manually or auto-save), a new version is created automatically.

Q: Can I disable versioning?
A: No, versioning is always enabled to protect your work. However, you can delete unnecessary versions to keep history clean.

Q: What happens when I restore a version?
A: Your current workflow state is saved as a new version first, then the selected version's configuration is applied. Nothing is lost.

Q: Can I restore deleted versions?
A: No, deleted versions are permanently removed. Only delete versions you're certain you don't need.

Q: Do versions count against my storage quota?
A: Versions use minimal storage (only configuration data, not execution results). For most users, this is negligible.

Q: Can I export version history?
A: Currently no, but we're planning export/import features for workflow backups.

Q: What's the difference between duplicate and restore?
A: Duplicate creates a separate workflow (new ID, independent). Restore reverts the current workflow to a previous state (same workflow ID, continues version history).

Q: Can I see who created each version in team workflows?
A: Currently all versions show the workflow owner. Multi-user attribution is coming in a future update.

Q: How far back does version history go?
A: We keep 50 versions by default. Older versions are auto-cleaned unless starred. Starred versions are kept indefinitely.

Q: Can I compare non-consecutive versions?
A: Yes! In compare mode, select any two versions - they don't need to be next to each other.

Getting Started

Version history is now available for all workflows:

  1. Open any workflow in the editor
  2. Look for the version history icon in the toolbar (🕒)
  3. Click to open the version panel
  4. Start exploring your workflow evolution!

All your existing workflows already have version history enabled - we've been creating versions automatically since this feature launched.

What's Next

We're working on additional versioning features:

  • Version comments - add notes to versions explaining changes
  • Branch/fork versions - create alternate versions without affecting main history
  • Collaborative annotations - team members can comment on versions
  • Export/import - backup and restore version history
  • Visual diff - graphical comparison showing workflow canvas changes
  • Merge capabilities - combine changes from different versions

Try it now: Open any workflow and click the version history icon to see your complete workflow evolution. Never lose work again!

Have feedback or questions? Join our community forum or contact support.