Form Versions
Learn how form versioning works to safely manage changes.
FormWork uses versioning to let you make changes to forms without affecting live submissions. This ensures you can iterate on your forms while maintaining data integrity.
Version States
Every form version has one of three states:
Draft
A work-in-progress version that isn’t live.
- Changes you make are saved automatically
- Not visible to form respondents
- Can be previewed before publishing
- Each form can have one draft at a time
Published
The current live version of your form.
- Used for all new submissions
- Cannot be directly edited
- One published version per form at any time
- Publishing a new version replaces the previous
Archived
Previous versions kept for reference.
- Cannot be edited
- Cannot receive new submissions
- Entries using this version retain their data
- Can be viewed for reference
Version Lifecycle
Creating a New Version
When you start editing a form:
- If no draft exists, creating a draft copies the published version
- Your changes are saved to the draft
- The published version remains live
Publishing
When you’re ready to go live:
- Click Publish in the builder
- The draft becomes the new published version
- The previous published version becomes archived
- New submissions use the new version
Preview
Before publishing, preview your draft:
- Click Preview in the builder
- Opens the form in a new tab
- Test with real data (entries are marked as preview)
- Verify conditional logic and validation
How Versioning Affects Entries
New Entries
- Always created with the current published version
- Use the field structure of that version
- Validated against that version’s rules
Existing Entries
- Retain their original version reference
- Data structure matches when they were created
- Can still be viewed and edited in admin
- Workflows from their version apply
Draft Entries
- In-progress submissions that haven’t been completed
- Continue with the version they started on
- Won’t see changes until they start a new entry
Version Contents
Each version stores:
| Component | Description |
|---|---|
| Schema | Pages and field definitions |
| Workflows | Automation definitions |
| Settings | Title, submit button text, success message |
| Client Config | Theme and display settings |
Working with Versions
View Version History
- Go to your form in the admin
- Click Versions tab
- See all versions with dates and status
Compare Versions
- Select two versions
- View side-by-side comparison
- See what fields were added, removed, or changed
Duplicate a Version
To base a new form on an existing one:
- Go to the form you want to copy
- Click Duplicate
- A new form is created with the same structure
Best Practices
Make Changes Incrementally
- Avoid large sweeping changes in one publish
- Test each significant change
- Keep track of what changed and why
Test Before Publishing
- Use preview mode extensively
- Test all conditional logic paths
- Verify validation rules work correctly
- Check workflows trigger as expected
Communicate Changes
When making significant changes:
- Notify users who may be filling out forms
- Consider timing (avoid publishing during peak usage)
- Document what changed for your team
Version Titles
Give versions meaningful names:
- “Added payment fields”
- “Fixed validation on email”
- “Removed deprecated section”
This helps when reviewing version history.
Common Scenarios
Adding a New Field
- Create/open a draft
- Add the new field
- Preview and test
- Publish
Existing entries won’t have this field, but you can view them with the field shown as empty.
Removing a Field
- Create/open a draft
- Remove the field
- Publish
Existing entries keep their data for that field, viewable in their original version.
Renaming a Field
Field IDs should remain stable. To “rename”:
- Change the label (not the ID)
- Data continuity is maintained
- References still work
If you must change the ID:
- Create a new field with the new ID
- Copy data via workflow if needed
- Remove the old field