Versioning
How workflow versions are created, compared, and rolled back.
EzFlow uses a git-like versioning model for Workflows. Every change you make on the canvas is an uncommitted edit. When you commit, EzFlow records the current DAG as a named snapshot on the active branch. Branches let you isolate in-progress work from the live version.
Commits
Click Commit in the canvas toolbar to save your changes. EzFlow records the current DAG state as a new commit on the active branch and prompts you for a short commit message describing the change.
Commits are permanent snapshots. The engine always executes the most recent committed version on a branch — your uncommitted canvas edits do not affect running Workflows until you commit.
Branches
Every Workflow lives on a branch. By default this is main, which holds the version that runs in production. You can create additional branches to develop and test changes safely before merging them.
Branches are managed in the Branches section of the app (route /branches). From there you can view a branch's commit history, configure policies, and open pull requests.
Pull requests and diffs
To merge changes from one branch into another, you open a pull request. A pull request moves through an OPEN → MERGED or REJECTED lifecycle and can require approvals from designated users before it can be merged.
Before merging, EzFlow shows a read-only diff view that highlights exactly which nodes and edges changed between the source and target branches — so you can verify the change before it goes live. See Diffs.
Environments
Branches can be linked to environments (route /environments). An environment represents a named deployment context — for example, staging or production. Each environment tracks which branch and commit are currently active, giving you a clear picture of what is deployed where.