Updates

Check for and apply Supascale updates.

Keep Supascale up to date with the latest features and security patches.

Your licence and your updates

These are two different things, and it is worth being clear about which is which:

  • Your Pro licence is perpetual. It does not expire. Whatever version you have installed keeps running exactly as it does today, forever.
  • A Pro licence includes one year of updates. After that year, you can keep using your current version indefinitely, or renew to receive newer releases.

If your year of updates has lapsed, Supascale still tells you when a new release is available and shows a renewal link — it does not hide the release or stop your installation working. Attempting to apply an update after the period has lapsed explains that updates and support have expired, with a link to renew.

Renewal extends your update window by another year from your existing expiry date.

Check for Updates

Via Web UI

  1. Go to Settings
  2. Look for update notification in header
  3. Or check Settings > Updates

Via API

curl https://supascale.example.com/api/v1/system/updates \
  -H "X-API-Key: your-api-key"

Response (update available):

{
  "currentVersion": "1.0.0",
  "latestVersion": "1.1.0",
  "updateAvailable": true,
  "releaseDate": "2026-01-15T00:00:00Z",
  "releaseNotes": "## What's New\n- Feature X\n- Bug fix Y",
  "downloadSize": 52428800
}

Response (up to date):

{
  "currentVersion": "1.1.0",
  "latestVersion": "1.1.0",
  "updateAvailable": false
}

Force Update Check

Bypass cache and check now:

curl -X POST https://supascale.example.com/api/v1/system/updates \
  -H "X-API-Key: your-api-key"

Or with query parameter:

curl "https://supascale.example.com/api/v1/system/updates?force=true" \
  -H "X-API-Key: your-api-key"

Download Update

Download update package before applying:

curl -X POST https://supascale.example.com/api/v1/system/updates/download \
  -H "X-API-Key: your-api-key"

Response:

{
  "success": true,
  "version": "1.1.0",
  "downloadPath": "/tmp/supascale-update-1.1.0.tar.gz",
  "checksum": "sha256:abc123..."
}

Apply Update

Apply downloaded update:

Via Web UI

  1. Go to Settings > Updates
  2. Click Apply Update
  3. Wait for restart

Via API

curl -X POST https://supascale.example.com/api/v1/system/updates/apply \
  -H "X-API-Key: your-api-key" \
  -H "Accept: text/event-stream"

Returns Server-Sent Events with progress:

event: progress
data: {"step": "downloading", "progress": 50}

event: progress
data: {"step": "extracting", "progress": 75}

event: progress
data: {"step": "applying", "progress": 90}

event: complete
data: {"success": true, "version": "1.1.0"}

Update Process

What Happens

  1. Download - Fetch update package
  2. Verify - Check checksum integrity
  3. Extract - Unpack update files
  4. Backup - Backup current installation
  5. Apply - Replace application files
  6. Restart - Restart Supascale

Downtime

  • Typical update: 1-2 minutes
  • Application restarts automatically
  • Projects continue running

Update Requirements

License

Updates require:

  • Valid license
  • Active update subscription
  • Update token configured

Check License Status

curl https://supascale.example.com/api/v1/license/status \
  -H "X-API-Key: your-api-key"

Response:

{
  "valid": true,
  "updatesExpireAt": "2027-01-19T00:00:00Z",
  "updatesActive": true
}

Rollback

If a release causes problems, you can revert to the release immediately before it from the UI — no support ticket, no shell access.

Via Web UI

  1. Go to Settings > Updates
  2. Under Roll Back, check the target version shown
  3. Click Roll Back, then confirm

Supascale downloads the previous release, verifies its checksum, backs up your data, replaces the application files and restarts. The process is the same one an update uses, so the same safeguards apply — if it fails partway, your existing installation is restored automatically.

What you can roll back to

Rollback goes back exactly one release from whatever you are running. It is intended as an escape hatch from a bad release, not a way to run an arbitrary old version. If you need to go back further, roll back again once the first one completes.

Rollback requires an active update period

Unlike update notifications, which stay visible after your update year lapses, rollback is switched off entirely once the period expires. The Roll Back panel then shows a renewal link instead of a version.

This is deliberate: older release artifacts are not kept indefinitely, and we would rather tell you plainly that the option is unavailable than offer a version that may no longer be downloadable.

After rolling back

Your database, backups and configuration are preserved and are backed up before anything is replaced. Note that data written by features which only exist in the newer release may not be visible on the older one — the older release simply does not know about it. Updating forward again restores access to it.

Manual Rollback

If the app cannot start at all, revert by hand:

  1. Stop Supascale: pm2 stop supascale-web
  2. Restore the backup taken before the update
  3. Restart: pm2 start supascale-web

Backup Location

Updates and rollbacks create backups at:

/opt/supascale-web/.update-backup-<timestamp>/

Version History

Check Current Version

curl https://supascale.example.com/api/version

Returns: 1.0.0

Changelog

View release notes at each version's release page or in the update notification.

Auto-Updates

Currently, Supascale requires manual update confirmation. Auto-updates are planned for a future release.

Notification

When updates are available:

  • Dashboard shows notification
  • Settings page shows update badge
  • API returns updateAvailable: true

Troubleshooting

"Updates expired"

  1. Check license expiration date
  2. Renew your update subscription
  3. Verify update token is configured

"Download failed"

  1. Check internet connectivity
  2. Verify server can reach update server
  3. Check disk space
  4. Try again later

"Update failed"

  1. Check error message
  2. Review Supascale logs
  3. Verify file permissions
  4. Try manual update

Manual Update

If automatic update fails:

# Download release manually
curl -O https://releases.supascale.com/supascale-1.1.0.tar.gz

# Stop Supascale
pm2 stop supascale-web

# Backup current version
cp -r /opt/supascale-web /opt/supascale-web.backup

# Extract update
tar -xzf supascale-1.1.0.tar.gz -C /opt/supascale-web

# Restart
pm2 start supascale-web

Best Practices

  1. Test in staging - Apply updates to staging first
  2. Backup before updates - Have rollback ready
  3. Check release notes - Understand what's changing
  4. Schedule updates - During low-traffic periods
  5. Monitor after update - Watch for issues