Creating Versions
DevOur uses semantic versioning to help you track and manage different states of your project. Each version captures a snapshot of your project: settings, colors, theme, locales, products, collections and their properties, forms, pages with their sections and blocks, and navigation sections.
Prerequisites
Before creating versions, ensure you have an existing project in DevOur.
Understanding Semantic Versioning
DevOur uses Semantic Versioning format:
MAJOR.MINOR.PATCH
- MAJOR: Breaking changes (e.g., 2.0.0)
- MINOR: New features, backward compatible (e.g., 1.1.0)
- PATCH: Bug fixes, backward compatible (e.g., 1.0.1)
Optional suffixes are supported: 1.0.0-alpha, 1.0.0-beta.1
Any other format is rejected with "Invalid version format. Use semantic versioning (e.g., 1.2.3 or 1.2.3-suffix)".
Your Project Page
Open your project in DevOur. Its main page holds everything related to versions:
- A Finish setting up your platform checklist while setup steps remain. You can dismiss it.
- This bundle will exclude: followed by Authentication, Subscriptions or Pages when those aren't configured yet. Authentication needs your Firebase configuration, Subscriptions needs at least one product plus your Stripe keys, and Pages needs at least one page.
- The version field, the Auto-increment version and Auto-delete old versions toggles, and the Versions list.
Create a New Version
- Open your project in DevOur
- Enter a version number in the Create a new version with the current project
settings field (e.g.,
1.0.0) - Click Create
A new version is created from the current state of your project, and it becomes the project's current version.
If the number you entered already exists, an Overwrite Version X dialog asks for confirmation. Click Overwrite to replace that version with the current state of your project, or Cancel to keep it.
From the CLI:
devour version create [projectId]
devour version create --version 2.0.0
Without --version, the CLI creates the next patch of the current version. See
the CLI Reference.
Version Limits
DevOur keeps up to 5 versions per project. What happens when you create a version beyond that depends on the Auto-delete old versions toggle:
- On: the oldest version is deleted automatically, without a dialog.
- Off: a Version Limit Reached dialog opens: "You can only keep 5 versions at a time. Please select which versions to remove before creating the new one". Select the versions to remove and click the delete button, which counts your selection (for example Delete 2 Versions). Your new version is created right after.
To set Auto-delete old versions from the CLI, set autoDeleteOldVersions in
your configuration file and apply it with devour setup --config.
Auto-Increment Version
Enable automatic version incrementing to have DevOur create a new version every time you change your project.
Enable Auto-Increment
- Open your project in DevOur
- Toggle Auto-increment version to on
From the CLI:
devour setup --key autoIncrementVersion --value true
How Auto-Increment Works
When enabled, each successful change creates a new version by incrementing the PATCH number of the current version (e.g., 1.0.0 → 1.0.1, and 1.0.0-beta → 1.0.1). Changes that create a version:
- Saving project settings
- Changing colors, the theme, or locales
- Uploading a logo, image, file or service account
- Toggling Auto-delete old versions or Passwordless sign-in
- Creating, saving, renaming, deleting or syncing products
- Creating, editing or deleting collections, their properties and their records
- Creating, editing or deleting forms and pages
- Creating, editing, reordering or deleting navigation sections and their pages
These don't create a version:
- Toggling Auto-increment version itself
- Creating or overwriting a version, deleting a version, or resetting to a version
- Building or downloading a bundle
- Testing your database or Firebase connection
When to Use Auto-Increment
Recommended for:
- Active development with frequent changes
- When you want to be able to go back to your most recent changes
Not recommended for:
- Projects with infrequent changes
- When you prefer manual control over version numbers
Warning: Every change creates a version, so auto-increment fills your 5 version slots quickly. Turn on Auto-delete old versions to have the oldest version removed each time.
Version History
All created versions appear in the Versions list. Each row shows:
- Version X
- Bundle creation failed when building its bundle failed
- This version was bundled without: followed by Authentication, Subscriptions or Pages when those weren't configured when the version was created
- One button: Download when the bundle is ready, Create Bundle when the bundle has to be built again, or a disabled Creating... while the bundle is being built
Build a Version Bundle
A new version has no bundle yet. Click Create Bundle on its row and wait: the button shows Creating... while the bundle is built, then becomes Download.
From the CLI:
devour version bundle [projectId] --version 1.0.0
Without --version, the CLI lists the versions to pick from. devour fetch
also offers to build the bundle when the version doesn't have one yet, then
downloads it.
DevOur keeps the files of the two most recently built bundles of a project. When an older bundle is removed, or when a build fails, its row shows Create Bundle again.
Download a Version Bundle
- Locate the version in the list
- Click Download
From the CLI:
devour fetch [projectId] --version 1.0.0
See Downloading and Running Your Project.
Delete a Version
Click the trash icon (Delete version) next to the version. The version is deleted immediately, without a confirmation, and its bundle file is removed.
From the CLI, devour version delete [projectId] [--version <v>] always asks
for confirmation.
Reset to a Previous Version
If you need to restore your project to a previous state, use the reset feature.
Perform a Reset
- Find the target version in the Versions list
- Click the reset icon (Reset to Version) next to that version
- Read the warning in the Reset Project to Version X dialog carefully
- Click Confirm to proceed
From the CLI, devour version reset [projectId] [--version <v>] always asks for
confirmation.
Important Warnings
- Save before resetting: If your current project state is not saved as a version, those changes will be lost permanently
- Reset restores your project settings, colors, theme, locales, products, collections and their properties, forms, pages with their sections and blocks, and navigation sections to their state at that version
- The reset cannot be undone unless you have a version of your current state
Best Practices
- Always create a version of your current state before resetting
- Use descriptive version numbers to remember what each version contains
- Test the restored version to ensure it meets your needs