Versioning
Keep formations stable as MUXI evolves
MUXI uses semantic versioning across schemas, runtime, and server. This page explains version compatibility and upgrade paths.
Schema Version
Formations specify their schema version:
schema: "1.0.0"
This ensures compatibility with the runtime.
Version Compatibility
| Schema | Runtime | Status |
|---|---|---|
| 1.0.x | 1.0.x | Compatible |
| 1.0.x | 1.1.x | Compatible |
| 1.0.x | 2.0.x | May break |
Minor versions are backward compatible. Major versions may require migration.
Formation Versioning
Automatic
When publishing to registry:
muxi push
Version auto-increments: 1.0.0 → 1.0.1
Manual
muxi push --tag v1.1.0
Semantic Versioning
Follow semver:
- Major (2.0.0) - Breaking changes
- Minor (1.1.0) - New features, backward compatible
- Patch (1.0.1) - Bug fixes
Pulling Versions
Latest
muxi pull @muxi/hello-muxi
Gets most recent version.
Specific Version
muxi pull @muxi/hello-muxi@1.0.0
Version Ranges
muxi pull @muxi/hello-muxi@^1.0.0 # 1.x.x
muxi pull @muxi/hello-muxi@~1.0.0 # 1.0.x
Server Versioning
Check server version:
muxi-server version
Updates
# Homebrew
brew upgrade muxi
# Linux
curl -fsSL https://muxi.org/install | sudo bash
Runtime Version
Formations run on specific runtime versions:
runtime:
version: "1.0.0" # Pin version
version: "latest" # Use latest
Auto-Download
# Server config
runtime:
auto_download: true
Server downloads required runtime versions automatically.
Migration
When upgrading schema versions:
- Check changelog for breaking changes
- Update formation.afs schema version
- Apply required changes
- Test locally:
muxi dev - Deploy:
muxi deploy
Migration Guides
Major version migrations documented at:
- docs.muxi.org/migrations/v1-to-v2
- docs.muxi.org/migrations/v2-to-v3
Rollback
Revert to previous version:
muxi server rollback my-assistant
Shows available versions and reverts.
Best Practices
- Pin versions in production - Avoid unexpected changes
- Test updates locally - Before deploying
- Read changelogs - Understand what changed
- Keep current - Security and feature updates
- Version your formations - Semantic versioning