Releases are versioned snapshots of a workspace branch that can be deployed to tenants. They enable controlled rollouts and version management across your tenant infrastructure.
Release commands require a workspace ID, either from your profile or via the -w flag. All release commands use release names (e.g., v1.0), not IDs.
List Releases
Each release shows its name, ID, branch, and the date, time, and timezone when it was created. Use -o json for the full JSON response.
Get Release Details
Create a Release
| Argument / Flag | Description |
|---|
name | Release name (required, positional) |
-b | Branch to create the release from (required) |
-d | Release description |
--hotfix | Mark as a hotfix release |
--table-ids | Comma-separated table IDs to include |
-w | Workspace ID |
-o | Output format: summary or json |
Edit a Release
Delete a Release
Add -f to skip the confirmation prompt.
Deleting a release is permanent and cannot be undone.
Export a Release
Download a release as a .tar.gz file:
By default, the file is saved in the current directory. Specify a custom path with --output:
Import a Release
Import a previously exported release file into a workspace:
Pull & Push
You can pull a release down as local XanoScript files, or push local files as a new release. This works the same way as workspace pull & push — using the multidoc format behind the scenes — but targets a specific release instead of a branch.
Pull a Release
| Flag | Description |
|---|
-r | Release name (required) |
--env | Include environment variables |
--records | Include database records |
-w | Workspace ID |
Push as a New Release
| Flag | Description |
|---|
-n | Release name (required) |
-d | Release description |
--hotfix | Mark as a hotfix release |
--no-records | Skip importing table records |
--no-env | Skip environment variables |
-w | Workspace ID |
Deploy a Release
Deploy a release to a new branch in the workspace:
Deploy prompts for confirmation before creating the new branch. Use -f / --force to skip the prompt (required for non-interactive environments like CI/CD). --set_live is off by default; include it only when you want the new branch to start serving live API traffic immediately.
| Flag | Description |
|---|
-b | Branch label for the new branch (defaults to the release branch name) |
--set_live | Set the new branch as live (default: off) |
-f, --force | Skip the confirmation prompt |
-w | Workspace ID |
-o | Output format: summary or json |