Solution Versioning
Solutions use semantic versioning to track releases and enable controlled promotions through environments.
Why Version Solutions?
Section titled “Why Version Solutions?”Release Management
Section titled “Release Management”Track what version is deployed where:
| Solution | Development | Staging | Production |
|---|---|---|---|
| customer-portal | 1.5.0 | 1.4.0 | 1.3.0 |
| api-gateway | 2.1.0 | 2.1.0 | 2.0.0 |
Promotion Control
Section titled “Promotion Control”Move specific versions through your pipeline:
Rollback Capability
Section titled “Rollback Capability”Quickly revert to a known-good version:
Semantic Versioning
Section titled “Semantic Versioning”Version Format
Section titled “Version Format”MAJOR.MINOR.PATCH │ │ │ │ │ └── Bug fixes, configuration tweaks │ └──────── New features, sequence updates └────────────── Breaking changes, major rewritesVersion Bump Guidelines
Section titled “Version Bump Guidelines”| Change | Version Bump | Example |
|---|---|---|
| Fix configuration issue | Patch | 1.0.0 → 1.0.1 |
| Add new sequence | Minor | 1.0.0 → 1.1.0 |
| Update sequence version requirement | Minor | 1.0.0 → 1.1.0 |
| Add variable template | Minor | 1.0.0 → 1.1.0 |
| Remove sequence | Major | 1.0.0 → 2.0.0 |
| Remove variable | Major | 1.0.0 → 2.0.0 |
| Major architecture change | Major | 1.0.0 → 2.0.0 |
Creating New Versions
Section titled “Creating New Versions”In the UI
Section titled “In the UI”- Navigate to the solution detail page
- Click Add Version
- Enter the new version number
- Make your changes
- Click Create Version
┌─────────────────────────────────────────────────────────┐│ Add New Version │├─────────────────────────────────────────────────────────┤│ ││ Version: [1.3.0 ] ││ ││ Sequences: ││ ┌───────────────────────────────────────────────────┐ ││ │ (sequence list) │ ││ └───────────────────────────────────────────────────┘ ││ ││ [Cancel] [Create Version] │└─────────────────────────────────────────────────────────┘Version Immutability
Section titled “Version Immutability”What Cannot Change
Section titled “What Cannot Change”- Sequence list
- Sequence order
- Sequence version requirements
What Can Change
Section titled “What Can Change”- Creating new versions
- Environment-specific variable values
Version History
Section titled “Version History”The solution detail page shows all versions:
┌─────────────────────────────────────────────────────────┐│ Solution: customer-portal │├─────────────────────────────────────────────────────────┤│ ││ Versions: ││ ││ ┌─────────┬───────────────┬─────────────────────────┐ ││ │ Version │ Created │ Deployed To │ ││ ├─────────┼───────────────┼─────────────────────────┤ ││ │ 1.5.0 │ Today │ Development │ ││ │ 1.4.0 │ 3 days ago │ Staging │ ││ │ 1.3.0 │ 1 week ago │ Production │ ││ │ 1.2.0 │ 2 weeks ago │ - │ ││ │ 1.1.0 │ 1 month ago │ - │ ││ │ 1.0.0 │ 2 months ago │ - │ ││ └─────────┴───────────────┴─────────────────────────┘ ││ ││ [+ Add Version] ││ │└─────────────────────────────────────────────────────────┘Environment State
Section titled “Environment State”Each environment tracks its current version:
┌─────────────────────────────────────────────────────────┐│ Environment State: customer-portal │├─────────────────────────────────────────────────────────┤│ ││ ┌─────────────┬─────────┬─────────────┬────────────┐ ││ │ Environment │ Version │ Deployed │ By │ ││ ├─────────────┼─────────┼─────────────┼────────────┤ ││ │ Development │ 1.5.0 │ 2 hours ago │ alice │ ││ │ Staging │ 1.4.0 │ 3 days ago │ bob │ ││ │ Production │ 1.3.0 │ 1 week ago │ admin │ ││ └─────────────┴─────────┴─────────────┴────────────┘ ││ ││ [Deploy] [Promote] [Rollback] ││ │└─────────────────────────────────────────────────────────┘Deployment by Version
Section titled “Deployment by Version”Deploy Specific Version
Section titled “Deploy Specific Version”- Navigate to solution
- Select the version
- Click Deploy
- Choose target environment
- Confirm
Promote Version
Section titled “Promote Version”Move current version to next environment:
- Navigate to environment state
- Click Promote
- Select target environment
- Confirm
Best Practices
Section titled “Best Practices”1. Meaningful Version Numbers
Section titled “1. Meaningful Version Numbers”Don’t over-increment:
Good: 1.0.0 → 1.1.0 → 1.2.0 → 2.0.0Bad: 1.0.0 → 2.0.0 → 3.0.0 → 4.0.02. Track Changes Externally
Section titled “2. Track Changes Externally”Mantis does not store per-version release notes, so keep a changelog in your source repository (or solution config-as-code) and use clear semantic version bumps:
v1.3.0: Added monitoring integrationv1.2.1: Fixed timeout in health checkv1.2.0: Updated to new database schema3. Test Before Promoting
Section titled “3. Test Before Promoting”Validate each version in lower environments:
4. Version for Rollback
Section titled “4. Version for Rollback”Keep at least one known-good version available:
Production: v1.3.0 (current)Available for rollback: v1.2.0, v1.1.05. Coordinate Breaking Changes
Section titled “5. Coordinate Breaking Changes”Major versions may require:
- Variable updates in all environments
- Database migrations
- Coordination with other teams
Troubleshooting
Section titled “Troubleshooting”Cannot Create Version
Section titled “Cannot Create Version”Cause: Version number already exists
Solution: Use a new, higher version number
Version Not Appearing
Section titled “Version Not Appearing”Cause: Version may not have been saved
Solution: Check for validation errors, re-save
Wrong Version Deployed
Section titled “Wrong Version Deployed”Cause: Selected wrong version in deployment
Solution: Deploy the correct version or rollback
Next Steps
Section titled “Next Steps”- Creating Solutions - Create new solutions
- Variables - Configure variables
- Promotion Lifecycle - Environment progression
- Overview - Return to solutions overview
