Skip to content

Sequence Versioning

Sequences use semantic versioning to track changes and ensure reproducible deployments.

Sequence v1.0.0 always executes the same steps in the same order:

Version history shows how sequences evolved:

v1.0.0 - Initial release (3 steps)
v1.1.0 - Added health check step
v1.2.0 - Updated deploy-files to ^2.0.0
v2.0.0 - Removed deprecated backup step

If a new sequence version causes issues, revert to the previous:

MAJOR.MINOR.PATCH
│ │ │
│ │ └── Configuration tweaks
│ └──────── Added/modified steps
└────────────── Breaking changes
ChangeVersion BumpExample
Fix typo in step configPatch1.0.0 → 1.0.1
Update action version requirementMinor1.0.0 → 1.1.0
Add a new stepMinor1.0.0 → 1.1.0
Remove a stepMajor1.0.0 → 2.0.0
Reorder stepsMajor1.0.0 → 2.0.0
Change step’s actionMajor1.0.0 → 2.0.0
  1. Navigate to the sequence detail page
  2. Click Add Version
  3. Enter the new version number
  4. Make your changes
  5. Click Create Version
┌─────────────────────────────────────────────────────────┐
│ Add New Version │
├─────────────────────────────────────────────────────────┤
│ │
│ Current Version: 1.2.0 │
│ New Version: [1.3.0 ] │
│ │
│ Changes: │
│ ┌───────────────────────────────────────────────────┐ │
│ │ - Updated health-check version to ^1.2.0 │ │
│ │ - Added smoke-test step at position 5 │ │
│ └───────────────────────────────────────────────────┘ │
│ │
│ [Cancel] [Create] │
└─────────────────────────────────────────────────────────┘
  • Step list
  • Step order
  • Action references
  • Version requirements
  • The parent sequence’s name (via the sequence edit page — this does not affect any version)
  • Creating new versions (which captures a new immutable snapshot)
  • Deleting a version (the API allows deleting any version except the last remaining one; to remove the final version, delete the sequence)

Solutions reference sequences with version requirements:

RequirementResolved (once, at solution-version creation) to
^1.0.0Highest matching 1.x.x version
~1.2.0Highest matching 1.2.x version
=1.2.3Exactly 1.2.3
>=1.0.0Highest version >= 1.0.0

Once a solution version is created, its sequence-version pins are frozen and do not follow newer releases (see Action Version Resolution below for the same one-shot behavior).

For production solutions:

=1.2.3 # Exact version for stability

For development:

^1.0.0 # Get updates automatically

When you create a sequence version, Mantis resolves the action version requirement once and stores the specific action version at that moment:

This means a sequence version always executes the exact same action version it was created with — it does not automatically pick up newer action versions released later.

To use a newer action version in your sequences:

  1. Create a new sequence version with the updated version requirement
  2. The new sequence version resolves the action version at creation time

The sequence detail page shows all versions:

┌─────────────────────────────────────────────────────────┐
│ Sequence: deploy-web-app │
├─────────────────────────────────────────────────────────┤
│ │
│ Versions: │
│ │
│ ┌─────────┬───────────────┬──────────┐ │
│ │ Version │ Created │ Actions │ │
│ ├─────────┼───────────────┼──────────┤ │
│ │ 2.0.0 │ 2 days ago │ 4 │ │
│ │ 1.3.0 │ 1 week ago │ 5 │ │
│ │ 1.2.0 │ 2 weeks ago │ 4 │ │
│ │ 1.1.0 │ 1 month ago │ 4 │ │
│ │ 1.0.0 │ 2 months ago │ 3 │ │
│ └─────────┴───────────────┴──────────┘ │
│ │
│ [+ Add Version] │
│ │
└─────────────────────────────────────────────────────────┘

Don’t create versions for trivial changes:

Good: v1.0.0 → v1.1.0 (added step)
Bad: v1.0.0 → v1.0.1 → v1.0.2 → v1.0.3 (typo fixes)

Include clear change notes:

Version 1.3.0:
- Added smoke-test step after deployment
- Updated deploy-files to use v2.x for parallel support

Test new versions in lower environments:

When moving solutions off an old sequence version:

  1. Notify solution maintainers
  2. Update each solution to require a newer version
  3. Confirm nothing still pins the old version before stopping its use

Design sequences for forward compatibility:

Instead of:
v1.0.0 → v2.0.0 → v3.0.0 (frequent breaking changes)
Prefer:
v1.0.0 → v1.1.0 → v1.2.0 (incremental improvements)

Cause: The version requirement may not match any existing version

Solution: Check the available versions and the requirement; create a new version if needed

Cause: Version requirement matches multiple versions

Solution: Use more specific requirement (e.g., =1.2.3 instead of ^1.0.0)

Cause: Published versions are immutable

Solution: Create a new version with desired changes