App Versioning
App Studio exports carry an advisory version field and changelog. Versioning is not enforced by the platform — it is a convention for your team to track which bundle is deployed where. Use export bundles committed to git as your actual version history.
Version Fields in the Bundle
{
"schemaVersion": "1.0", // Platform bundle format version — enforced
"version": "1.4.2", // App version — advisory, set by exporter
"exportedAt": "2026-05-25T14:30:00Z",
"exportedBy": "user-abc",
"changelog": "Added bulk approval to leads grid; fixed mobile layout on lead detail"
}
schemaVersion vs. version
| Field | Set by | Enforced? | Purpose |
|---|---|---|---|
schemaVersion | Platform (auto) | Yes — importer rejects incompatible versions | Bundle format compatibility between App Studio versions |
version | User (in export dialog) | No — stored and displayed, not validated | Human-readable release version for tracking purposes |
Recommended Versioning Convention
Use semantic versioning (MAJOR.MINOR.PATCH) for app bundles:
- MAJOR — breaking change: removed pages, renamed routes, major structural redesign
- MINOR — new feature: new pages, new widgets, new actions added
- PATCH — small fix: typo correction, layout tweak, minor config change
// Examples:
"version": "1.0.0" // Initial release
"version": "1.1.0" // Added approval workflow integration
"version": "1.1.1" // Fixed mobile layout on lead detail page
"version": "2.0.0" // Complete navigation restructure
Rollback
App Studio does not maintain an internal version history. Rollback is performed manually by re-importing a previous export bundle:
Using Git as the Version Store
The recommended practice is to commit export bundles to git alongside other release artifacts. Each bundle filename carries the version: crm-app-1.4.2.appstudio.json. Git provides diff, history, and branch-based release management for free:
# Git workflow for App Studio bundles
git add releases/crm-app-1.4.2.appstudio.json
git commit -m "feat: CRM app v1.4.2 — bulk approval widget"
git tag app-crm-v1.4.2
# Rollback in git
git show app-crm-v1.3.0:releases/crm-app-1.3.0.appstudio.json > rollback.json
# Then import rollback.json via API or admin UI
Viewing Import History
Each import is recorded in the tenant audit log with the bundle's version label, import timestamp, and the user who performed the import. View import history in App Studio → Apps → [App] → Import History.