Versioning
Track changes to your architecture over time
Archflow's versioning system lets you create snapshots of your architecture at different points in time, enabling you to track how your system evolves.
How Versioning Works
Each project can have multiple versions. A version captures the state of:
- Systems and their properties
- Connections between systems
- System hierarchy and nesting
When you create a new version, you can continue making changes without affecting previous versions.
Version Picker
The version picker dropdown appears in the project header, next to the page title. It displays the current version name (e.g., "main") and allows you to switch between versions.
On the Views page, the current version is displayed as a badge: "Version: main".
Creating Versions
- Click the version picker in the project header
- Click New Version or use the create version dialog
- Provide a version name or number (e.g., "v2.0 - Microservices Migration")
- The current architecture state is preserved as the new version
Switching Versions
Use the version picker dropdown in the project header to switch between versions. When you switch:
- The Systems list updates to show systems in the selected version
- Connections reflect the relationships in that version
- Diagrams show the architecture as it appeared in that version
- Archie provides context based on the selected version
Version-Aware Features
Several Archflow features are version-aware:
- Export --- Export a specific version of your project
- Documentation --- Generate documentation for a specific version
- Diagrams --- View diagrams as they appeared in previous versions
- Import --- Imported data is associated with the current version
What Gets Versioned
| Versioned | Not Versioned |
|---|---|
| Systems and properties | Project settings |
| Connections and relationships | Group memberships |
| System hierarchy | Theme preferences |
| Diagram element placements | Published documentation URLs |
Best Practices
- Version before major changes --- Create a version before significant architecture modifications
- Use meaningful names --- "v2.0 - Microservices Migration" is more useful than "Version 5"
- Document what changed --- Use version descriptions to note what's different
- Use the "main" version --- The default version serves as your current working state